最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

如何统计Excel表格中指定部分的字数?

XAMPP下载 中文小张 245浏览 0评论

如今很多译者从客户那里接到的待译文件格式都五花八门,如果客户给一个Word文档那就已经谢天谢地了,这样的客户绝对能评上“年度甲方爸爸”。可要是遇上这样的情况:客户提供的都是Excel表格,尤其是那种ShitSheet特别多内容又特别多的Excel表格,那么光统计要翻译的文本的字数就够译者喝一壶的。

所以在今天的这篇帖子中,我就准备仔细说一下如何统计Excel表格中指定部分的字数

正文

首先,我先给大家介绍一下我准备使用的演示材料和程序开发需求。

我做了一个演示用的Excel表格,如下:

我一共建了三个表,分别是:表一、表二和表三。每个表中都有三列,分别是:ID、原文和译文。

我们要翻译的是原文,要把译文填充在“译文”列

我希望通过一段程序一次性统计三个表中的“原文”一列的所有中文的字数

实现方法

第一步:设置好编程环境,并将演示文件存入指定的文件夹中

我所使用的本地编程环境是XAMPP,即将使用的编程语言是PHP。(在我之前的微信公众号文章中可以查看该工具的使用方法)

我将刚刚创建的演示文件存入指定的文件夹中,

第二步:安装一个名为“PHPExcel”的PHP插件

地址:https://github.com/PHPOffice/PHPExcel

安装方法:从上述地址下载名为“Classes”的文件夹,并将其存储在本地编程环境指定文件夹的根目录中,在这里我存储在“excel”文件夹中

第三步:在根目录中创建一个“index.php”文件,用来撰写代码处理“files”文件夹中的演示文件。

第四步:打开“index.php”开始撰写代码

1、引入PHPExcel插件

第四行和第五行的作用是从“files”文件夹中读取名为“Test.xlsx”的演示文件,并将其放在一个名为“$excel”的变量中。

我们统计Excel表格中的指定内容时,实际上就是在处理这个叫“$excel”的变量。

2、读取Excel表格数据

那么我们接下来就去读取Excel表里的数据:

新增的代码中,实际上有两部分内容:

上图第“9”行的代码中的“getSheetCount()”函数用于统计Excel表格中有多少个工作表,并且把统计结果放在“$sheetCount”变量中。

上图的第“11-15”行代码用户遍历每一个工作表,并且把工作表中所有的结果以数组的形式存储在“$data”变量中。

上面代码运行后的结果为:

到了这一步,我们已经把Excel表中所有工作表的内容都读取出来了,我们接下来要做的就是把所有表中第二列“原文”单独显示出。

我们先仔细看看上面这些数据是怎么生成的?

我们的演示材料里头有三个表,这个“3”被赋到了“$sheetCount”变量中。

下面展示的是一个循环功能:

for($i=0; $i<$sheetCount; $i++){

echo $i;

}

可以这样解释:

我们新建一个叫“$i”的变量,这个变量的初始值为“0”($i=0;);它的值不能大于“$sheetCount”,也就是小于“3”($i<$sheetCount;);每当中括号“{}”中的程序执行完一次后,“$i”的值再加一个“1”($i++; “++”在这里是“自加1”的意思)。

而“echo $i;”的功能就是打印“$i”的值。

所以,上面这段简单的循环功能执行后的结果就是:“012”,因为当“$i=3”的时候,“$i”就已经大于“$sheetCount”了,就不会再执行中括号里的结果了。

理解了这段代码的功能,我们再去理解我前面写的那段代码:

for($i=0; $i<$sheetCount; $i++){

$data = $excel->getSheet($i)->toArray();

echo ‘<pre>’;

print_r($data);

}

当“$i=0”时,我们新建的这个叫“$data”的变量的值为:$excel->getSheet(0)->toArray()

“$excel”这个变量前面已经介绍了,里面装的是整个Excel表格

“getSheet(0)”的功能是获取Excel表格的第一个工作表(Sheet),大家会很奇怪,为什么第一个工作表对应的序号是“0”,我就不给大家展开讲了,简单来说就是,程序员在数数时都是从“0”开始数的。

“toArray()”的功能就是将第一个工作表的内容变成一个数组(Array),如下:

Array
(
    [0] => Array
        (
            [0] => ID
            [1] => 原文
            [2] => 译文
        )

    [1] => Array
        (
            [0] => 1
            [1] => 翻译
            [2] => 
        )

    [2] => Array
        (
            [0] => 2
            [1] => 编程
            [2] => 
        )

    [3] => Array
        (
            [0] => 3
            [1] => 文字
            [2] => 
        )

    [4] => Array
        (
            [0] => 4
            [1] => 代码
            [2] => 
        )

    [5] => Array
        (
            [0] => 5
            [1] => 码农
            [2] => 
        )

)

这个工作表原本是什么样的呢

转载请注明:XAMPP中文组官网 » 如何统计Excel表格中指定部分的字数?