您的位置:新葡亰496net > 新葡亰496net > 新葡亰496net:那多少个excel技艺都不会,在PHP中操

新葡亰496net:那多少个excel技艺都不会,在PHP中操

发布时间:2019-09-30 22:41编辑:新葡亰496net浏览(109)

    问题:如何将多个Excel文件汇总到一个文件当中?

    Excel办公软件可以说是我们每天在办公时都会用到的工具,有时候会需要将各种数据整理在表格中,但是有些刚入职场的小白或者是对于excel不熟悉的人来说,使用exce可能会有点困难,今天小编给大家分享几个比较实用的excel技巧。

    在htdocs文件夹中将该文件保存为“Excelsample.php教程”。打开浏览器,在地址栏中输入:

    复制代码 代码如下:

    新葡亰496net 1

    回答:这里介绍2种方法,一种是使用Excel的PowerQuery汇总,一种是使用Python汇总,下面我简单介绍一下实现过程,主要内容如下:

    一、同时查看两个工作表

    此时,将会在页面中显示当前的Excel版本,同时创建名为php_excel_test.xls的工作簿并在工作表Sheet1单元格A1中输入“测试”。
    打开工作簿php_excel_test.xls,在单元格A1中将会看到已经输入了“测试”。
    注:为防止出现乱码,在代码开始设置了编码格式,同时在保存文件时选择保存为gb2312格式。

    <?php
    //指定页面编码,防止出现中文乱码的情形
    header('Content-type: text/html; charset=gb2312');

    为了实现将无数(我的300多)个有相同数据格式的excel表文件合并到一个excel的一个工作簿里面去方便进行后续的筛选,提取数据,分析等等。

    为了更好的说明问题,在我这里新建了4个excel文件,放在一个文件夹下面,后面就是对这4个文件汇总:

    如果要核对两个月的报表差异,而且这两个报表是在同一个工作簿中的,要如何处理呢?

    <?php
    //指定页面编码,防止出现中文乱码的情形
    header('Content-type: text/html; charset=gb2312');

    //启动Excel
    $ms_excel=new COM("excel.application") or die("不能打开Excel应用程序");

    需要分两步走:

    新葡亰496net 2

    其实很简单:依次单击视图→新建窗口,会出现两个Excel的窗口,并且在文件名后自动加上了序号1和2。

    //启动Excel
    $ms_excel=new COM("excel.application") or die("不能打开Excel应用程序");

    //在网页中显示当前的Excel版本
    echo "Excel版本:{$ms_excel->Version}n";

    第一步:将所有的excel合并到一个excel之中;刚才的多表之中的内容化身为现在的一个表,下边的多个sheet。

    每个文件的样本数据如下,包含一个季度3个月:

    新葡亰496net 3

    //在网页中显示当前的Excel版本
    echo "Excel版本:{$ms_excel->Version} ";

    //新建一个工作簿
    $ms_excel->Application->Workbooks->Add() or die("不能添加新工作簿");

    第二步:把这个excel之中的多个sheet合并到一个sheet之中。

    新葡亰496net 4

    此时再点击【视图】→ 全部重排,就可以同时显示两个窗口。然后在不同窗口中选择工作表,就可以同时查看不同工作表中的数据了:

    //新建一个工作簿
    $ms_excel->Application->Workbooks->Add() or die("不能添加新工作簿");

    //在工作簿的工作表Sheet1中单元格A1中输入文本
    $ms_excel->Worksheets("Sheet1")->Range("A1")->Value="测试";

    需要的基础软件:拥有VBA的excel软件,可以用微软的包含有VBA的office,也可以用国产的wps之中的专业版。

    新葡亰496net,PowerQuery汇总

    1.首先,新建一个空的Excel文件,依次选择“数据”->“新建查询”->“从文件”->“从文件夹”,如下:

    新葡亰496net 5

    2.接着在弹出的对话框中选择需要合并的Excel文件夹,如下:

    新葡亰496net 6

    3.点击确定后,就会显示出该文件夹下面所有的Excel文件,如下,我们点击“Combine”进行合并:

    新葡亰496net 7

    4.接着我们选中Sheet1进行数据合并,如下:

    新葡亰496net 8

    点击确定后,就会进入查询编辑器中,预览我们合并的数据,如下:

    新葡亰496net 9

    5.这里我们不需要第一列数据,所以直接选中这列,右键删除就行,最后选中菜单栏左上角的“Load & Closed”,即关闭并上载,就能合并数据,如下:

    新葡亰496net 10

    合并后的数据如下,至此,我们就完成了将多个Excel文件汇总到一个Excel文件中:

    新葡亰496net 11

    新葡亰496net 12

    //在工作簿的工作表Sheet1中单元格A1中输入文本
    $ms_excel->Worksheets("Sheet1")->Range("A1")->Value="测试";

    //保存工作簿,如果没有指定路径,则默认保存在我的文档中
    $ms_excel->Workbooks(1)->SaveAs("php_excel_test.xls");

    下边说具体步骤

    Python汇总

    这个也挺简单的,主要用到pandas这个数据处理库,可以快速读取excel文件,并合并,下面我简单介绍一下实现过程,感兴趣编程的朋友可以试一下,也就不到10行代码:

    1.安装pandas,这个直接在cmd窗口输入命令“pip install pandas”就行,如下:

    新葡亰496net 13

    2.安装完成后,我们就可以合并Excel文件数据了,主要代码如下,很简单,ConcatExcel函数第一个参数dir_name是需要合并的Excel文件夹,第二个参数sheet_name是合并的Sheet页:

    新葡亰496net 14

    点击运行程序,合并后的效果如下,与上面PowerQuery合并效果类似:

    新葡亰496net 15

    至此,我们就完成了将多个Excel文件汇总到一个Excel文件中。总的来说,整个过程不难,PowerQuery和Python这2种方法都很简单,只要你熟悉一下流程,多动手练习几遍,很快就能掌握的,网上也有相关教程和资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

    回答:谢诚邀:

    工作中常会遇到这样一些场景:一个工作簿内有无数个工作表,格式相同,一些列相同,需要把这些工作表的内容汇总到一个工作表里。M公司近期新开了一些店铺,为了调研店铺在这些商圈的吸引力,公司委派小白这个月每天都要提报这些店铺的进店人数,如下表:

    新葡亰496net 16

    很快一个月过去了,小白也做了30份这样的表格。到月底时,市场部领导要求分析这些店铺每天进店人数的走势图。小白听到这个噩耗差点吐血。要做趋势图总得先把这些数据放在一起吧,30个这样的,我得重复这么多次复制粘贴。。。

    接下来小E和大家分享,遇到这样的情形该如何处理,我们选取3个工作表为例说明,把1日、2日、3日的数据合并放在汇总表里:

    新葡亰496net 17

    1.点击A1单元格,点击数据选项卡——数据工具——合并计算;

    新葡亰496net 18

    2.在引用位置区域选择1日工作表中内容,再点击添加;

    新葡亰496net 19

    3.同上一步骤,把2日,3日的内容如是添加;

    新葡亰496net 20

    4.勾选首行及最左列;

    新葡亰496net 21

    5.补全A1 单元格标签。

    新葡亰496net 22

    回答:选择PQ的话得高版本。现在很多办公人员用的都是低版本,所以用vba较多。再说多个Excel文件合并到一个文件内。这种情况每个人遇到的情况比较少。所以vba也不用。只需要手工移动或复制过去就可以。

    这类问题最好的解决办法就是以后把同类型的文件都直接写到一个Excel工作簿的工作表中。如果数据比较庞大,就写到Access中,以便方便数据汇总和分析的时候用。

    回答:建议搜搜悟空问答,类似问题不少。

    我知道的方法至少有三种:插件、vba和powerquery,个人推荐powerquery。

    回答:这个得利用VBA功能,

    回答:powerquery首选

    二、给Excel添加密码

    //保存工作簿,如果没有指定路径,则默认保存在我的文档中
    $ms_excel->Workbooks(1)->SaveAs("php_excel_test.xls");

    //关闭工作簿
    $ms_excel->Quit();

    ——————————不同文件合并到同一个文件

    如果咱们有比较重要的资料,肯定是不希望让其他人随便看到的,比如说客户信息啊、草榴网址啊等等这些。如何给文件加上一个密码呢?

    //关闭工作簿
    $ms_excel->Quit();

    //清空对象
    $ms_excel=null;
    ?>

    1、新建一个工作薄,将其命名为你合并后的名字。

    其实很简单:依次单击【文件】→【保护工作簿】→【用密码进行加密】,然后输入密码即可。

    //清空对象
    $ms_excel=null;
    ?>

    在htdocs文件夹中将该文件保存为“excelsample.php”。打开浏览器,在地址栏中输入:

    2、打开此工作薄。

    新葡亰496net 23

    3、在其下任一个工作表标签上点击右键,选择“查看代码”。(wps的该按钮在开发工具下)

    三、填充合并单元格

    此时,将会在页面中显示当前的Excel版本,同时创建名为php_excel_test.xls的工作簿并在工作表Sheet1单元格A1中输入“测试”。
    打开工作簿php_excel_test.xls,在单元格A1中将会看到已经输入了“测试”。
    注:为防止出现乱码,在代码开始设置了编码格式,同时在保存文件时选择保存为gb2312格式。

    4、在打开的VBA编辑窗口中粘贴以下代码:

    咱们说过,在工作表中尽量不使用合并单元格,否则就是给自己挖坑。那么对已有合并单元格的工作表,如何快速整理呢?

    Sub 工作薄间工作表合并()

    其实很简单:只要选中数据区域,先取消合并单元格。

    Dim FileOpen

    然后按Ctrl G,定位空值。

    Dim X As Integer

    再输入等号,按方向键的上箭头,最后按Ctrl 回车即可。

    Application.ScreenUpdating = False

    新葡亰496net 24

    FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")

    四、Excel转pdf

    X = 1

    怎么把excel转换成pdf文件呢?

    While X <= UBound(FileOpen)

    其实将excel转换成pdf文件是很简单的,只要使用pdf转换工具就可以完成了。

    Workbooks.Open Filename:=FileOpen(X)

    直接进入迅捷pdf在线转换器页面,选择文档转换中的“excel转pdf”选项,点击“添加文件”选项,将要转换的excel文件添加进来,文件被添加完成之后,点击“开始转换”按钮,稍微等待一会之后文件就会被转换完成,将转换完成的文件下载保存即可。

    Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

    新葡亰496net 25

    X = X 1

    五、星号*咋替换?

    Wend

    要将单元格中的星号*替换为×,如果直接替换,就会把工作表中所有的内容都替换掉。如何实现精确替换呢?

    ExitHandler:

    其实很简单,按Ctrl H,调出替换对话框,在查找内容编辑框中输入:

    Application.ScreenUpdating = True

    ~*

    Exit Sub

    只要前面加上一个小尾巴,Excel就听话了。

    errhadler:

    新葡亰496net 26

    MsgBox Err.Description

    以上内容就是小编今天给大家分享的方法,喜欢的小伙伴可以进行收藏使用哦。

    End Sub

    5、关闭VBA编辑窗口。

    6、在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。

    7、在打开的对话窗口中,选择你需要合并的工作表,如果多的话,可以放在一个文件夹,然后全选。

    8、等待。。。。ok!

    ————————将一个表里的很多sheet合并到一个sheet

    1、在包含多个sheet的工作簿中(如多个工作簿合并后含n个sheet的工作簿),新建一个sheet

    2、在新建的sheet标签上点击右键,选择“查看代码”(wps的该按钮在开发工具下)

    3、在打开的VBA编辑窗口中粘贴以下代码:

    Sub 合并当前工作簿下的所有工作表()

    Application.ScreenUpdating = False

    For j = 1 To Sheets.Count

    If Sheets(j).Name <> ActiveSheet.Name Then

    X = Range("A65536").End(xlUp).Row 1

    Sheets(j).UsedRange.Copy Cells(X, 1)

    End If

    Next

    Range("B1").Select

    Application.ScreenUpdating = True

    MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"

    End Sub

    新葡亰496net:那多少个excel技艺都不会,在PHP中操作Excel实例代码。运行,等待……合并好了后会弹出提示。

    本文由新葡亰496net发布于新葡亰496net,转载请注明出处:新葡亰496net:那多少个excel技艺都不会,在PHP中操

    关键词: