Phpspreadsheet 中文文档(二) 结构+自动筛选

【php+mysql】通过composer安装使用phpspreadsheet将excel大量数据导入mysql 关于环境准备 phpspreadsheet需要php5.6及更高的版本 安装composer 通过composer安装phpspreadsheet 准备一个自己的mysql类型数据库2333 关于composer 安装指南中文文档 关于phpspreadsheet 1.cmd中执行composer require phpoffice/phpspreadsheet 2.在项目文件下新建com... 阅读详情

原理图

自动加载器

PhpSpreadsheet依赖于Composer自动加载器。因此,在独立使用PhpSpreadsheet之前,请确保先运行composer install。或使用将其添加到预先存在的项目中composer require phpoffice/phpspreadsheet。

电子表格在内存中

PhpSpreadsheet的体系结构以可以用作内存电子表格的方式构建。这意味着,如果要创建与PhpSpreadsheet的对象模型进行通信的电子表格的基于Web的视图,则他只需要编写前端代码即可。

就像桌面电子表格软件一样,PhpSpreadsheet表示包含一个或多个工作表的电子表格,该工作表包含具有数据,公式,图像等的单元格。

读者和作家

就其本身而言,该Spreadsheet班没有提供的功能读取或写入到一个持久的电子表格(在磁盘或数据库)。为了提供该功能,可以使用读取器和写入器。

默认情况下,PhpSpreadsheet软件包提供了一些读取器和写入器,其中包括一种用于Open XML电子表格格式(也称为Excel 2007文件格式)的读写器。您不限于默认的读取器和编写器,因为您可以在自定义类中自由实现 \PhpOffice\PhpSpreadsheet\Reader\IReaderand \PhpOffice\PhpSpreadsheet\Writer\IWriter接口。

流利的界面

PhpSpreadsheet在大多数位置都支持流畅的界面。这意味着您可以轻松地“链接”对特定方法的调用,而无需新的PHP语句。例如,使用以下代码:

$spreadsheet->getProperties()->setCreator("Maarten Balliauw");
$spreadsheet->getProperties()->setLastModifiedBy("Maarten Balliauw");
$spreadsheet->getProperties()->setTitle("Office 2007 XLSX Test Document");
$spreadsheet->getProperties()->setSubject("Office 2007 XLSX Test Document");
$spreadsheet->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$spreadsheet->getProperties()->setKeywords("office 2007 openxml php");
$spreadsheet->getProperties()->setCategory("Test result file");

可以改写为:

$spreadsheet->getProperties()
    ->setCreator("Maarten Balliauw")
    ->setLastModifiedBy("Maarten Balliauw")
    ->setTitle("Office 2007 XLSX Test Document")
    ->setSubject("Office 2007 XLSX Test Document")
    ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
    ->setKeywords("office 2007 openxml php")
    ->setCategory("Test result file");

不需要使用流利的接口已经实现了流利的接口以提供方便的编程API。不需要使用它们,但是可以使您的代码更易于阅读和维护。当您减少对PhpSpreadsheet方法的调用总数时,它也可以提高性能:在上面的示例中,该 getProperties()方法仅被调用一次,而不是非流利版本中被调用7次

自动筛选参考

介绍

Excel工作簿中的每个工作表都可以包含一个自动筛选范围。筛选的数据仅显示符合您指定条件的行,并隐藏您不想显示的行。您可以按不止一列进行过滤:过滤器是加性的,这意味着每个其他过滤器都基于当前过滤器,并进一步减少了数据子集。

将自动过滤器应用于一定范围的单元格时,自动过滤器范围中的第一行将是标题行,其中显示自动过滤器下拉图标。它不是实际的自动筛选数据的一部分。随后的所有行都是自动过滤的数据。因此,自动筛选器范围应始终包含标题行和一个或多个数据行(一个数据行几乎没有意义),但是PhpSpreadsheet并不会阻止您指定无意义的范围:由开发人员自行决定如何避免此类错误。

要确定是否应用了过滤器,请注意列标题​​中的图标。下拉箭头() 表示已启用过滤但未应用过滤。在MS Excel中,当您将鼠标悬停在启用了过滤但未应用过滤的列的标题上时,屏幕提示将显示该列第一行的单元格文本,并显示消息“(显示全部)”。

“过滤器”按钮()表示已应用过滤器。将鼠标悬停在已过滤列的标题上时,屏幕提示会显示已应用于该列的过滤器,例如“等于红色单元格颜色”或“大于150”。

在工作表上设置一个自动筛选区域

在一系列单元格上设置自动过滤器。

$spreadsheet->getActiveSheet()->setAutoFilter('A1:E20');

自动过滤器范围的第一行将是标题行,其中显示自动过滤器下拉图标。它不是实际的自动筛选数据的一部分。随后的所有行都是自动过滤的数据。因此,自动筛选器范围应始终包含标题行和一个或多个数据行(一个数据行是毫无意义的,但是PhpSpreadsheet并不会阻止您指定一个无意义的范围:这取决于开发人员如何避免此类错误。

如果要将整个工作表设置为自动筛选区域

$spreadsheet->getActiveSheet()->setAutoFilter(
    $spreadsheet->getActiveSheet()
        ->calculateWorksheetDimension()
);

这样可以进行过滤,但实际上不应用任何过滤器。

自动过滤器表达式

PHPEXcel 1.7.8引入了实际创建,读取和写入过滤器表达式的功能;最初仅适用于Xlsx文件,但更高版本会将其扩展为其他格式。

要将过滤器表达式应用于autoFilter范围,首先需要确定要将此过滤器应用于哪一列。

$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
$columnFilter = $autoFilter->getColumn('C');

这将返回一个autoFilter列对象,然后您可以将过滤器表达式应用于该列。

有许多不同类型的自动过滤器表达式。最常用的是:

  • 简单过滤器
  • 日期组过滤器
  • 自定义过滤器
  • 动态滤镜
  • 十大筛选器

这些不同类型在任何单个列中都是互斥的。您不应在同一列中混合使用不同类型的过滤器。PhpSpreadsheet不会主动阻止您执行此操作,但是结果是不可预测的。

尚不支持其他过滤器表达式类型(例如单元格颜色过滤器)。

简单的过滤器

在MS Excel中,“简单过滤器”是该列中使用的所有值的下拉列表,用户可以通过选中和取消选中每个选项旁边的复选框来选择要显示的值和要隐藏的值。应用过滤器时,将显示包含已选中条目的行,不包含那些值的行将被隐藏。

要创建过滤器表达式,我们需要先确定过滤器类型。在这种情况下,我们将仅指定此过滤器为标准过滤器。

$columnFilter->setFilterType(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_FILTERTYPE_FILTER
);

现在我们已经确定了过滤器类型,我们可以创建过滤器规则并设置过滤器值:

在PhpSpreadsheet中创建简单过滤器时,只需指定“已检查”列的值即可:您可以通过为每个值创建过滤器规则来做到这一点。

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        'France'
    );

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        'Germany'
    );

这将创建两个过滤规则:该列将使用与“ France”或“ Germany”匹配的值进行过滤。对于简单过滤器,您可以根据需要创建任意多个规则

简单过滤器始终是EQUALS的比较匹配,而多个标准过滤器始终被视为由OR条件连接。

配套空白

如果要创建过滤器以选择空白单元格,则可以使用:

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        ''
    );

日期组过滤器

在MS Excel中,DateGroup筛选器为日期值提供了一系列下拉筛选器选择器,因此您可以指定整个年份或一年中的几个月,或每个月中的几天。

DateGroup筛选器仍作为标准筛选器类型应用。

$columnFilter->setFilterType(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_FILTERTYPE_FILTER
);

在PhpSpreadsheet中创建一个dateGroup过滤器,您可以将“选中”列的值指定为年份的关联数组。月,日,小时,分钟和秒。要选择年份和月份,您需要创建一个DateGroup规则来标识所选的年份和月份:

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        [
            'year' => 2012,
            'month' => 1
        ]
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_DATEGROUP
    );

关联数组的键值为:

  • 年
  • 月
  • 天
  • 小时
  • 分钟
  • 第二

与标准过滤器一样,DateGroup过滤器始终是EQUALS的匹配项,并且多个标准过滤器始终被视为由OR条件联接。

请注意,我们还指定了ruleType:为了将其与标准过滤器区分开来,我们将Rule's Type显式设置为AUTOFILTER_RULETYPE_DATEGROUP。与标准过滤器一样,我们可以创建任意数量的DateGroup过滤器。

自定义过滤器

在MS Excel中,自定义过滤器允许我们使用运算符和值来选择更复杂的条件。典型示例可能是落入某个范围内的值(例如-20至+20之间),或者是带有通配符的文本值(例如以字母U开头)。为了解决这个问题,他们

自定义过滤器限制为2个规则,可以使用AND或OR将它们结合在一起。

我们从指定过滤器类型开始,这次是CUSTOMFILTER。

$columnFilter->setFilterType(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER
);

然后定义我们的规则。

下面显示了一个简单的通配符过滤器,以显示所有以字母开头的列条目U。

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        'U*'
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER
    );

MS Excel使用*作为通配符来匹配任意数量的字符,并且?作为匹配单个字符的通配符。“ U *”等于“以'U'开头”;'* U'等于“以'U'结尾”;“ * U *”等于“包含'U'”

如果要显式匹配*或?字符,您可以使用波浪号(\〜)对其进行转义,因此?\〜**将显式匹配*字符作为单元格值中的第二个字符,后跟任意数量的其他字符。唯一需要转义的其他字符是\〜本身。

要创建“介于”条件,我们需要定义两个规则:

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL,
        -20
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER
    );
$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL,
        20
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER
    );

我们还将规则类型设置为CUSTOMFILTER。

这定义了两个规则,即过滤>= -20OR的数字<= 20,因此我们还需要修改联接条件以反映AND而不是OR。

$columnFilter->setAndOr(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_COLUMN_ANDOR_AND
);

在\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule类中定义了自定义过滤器的有效运算符集,这些运算符 包括:

运算符常量值
AUTOFILTER_COLUMN_RULE_EQUAL'等于'
AUTOFILTER_COLUMN_RULE_NOTEQUAL'不等于'
AUTOFILTER_COLUMN_RULE_GREATERTHAN'比...更棒'
AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL'greaterThanOrEqual'
AUTOFILTER_COLUMN_RULE_LESSTHAN'少于'
AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL“ lessThanOrEqual”

动态滤镜

动态过滤器基于动态比较条件,其中我们要与单元格值进行比较的值是可变的,例如'today';或在我们针对单元格数据的汇总进行测试时(例如“ aboveAverage”)。一次只能将一个动态过滤器应用于一列。

同样,我们从指定过滤器类型开始,这次是DYNAMICFILTER。

$columnFilter->setFilterType(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER
);

在为动态过滤器定义规则时,我们没有定义值(我们可以简单地将其设置为NULL),但可以指定动态过滤器类别。

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
        NULL,
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER
    );

我们还将规则类型设置为DYNAMICFILTER。

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule该类中定义了有效的动态过滤器类别集 ,包括:

运算符常量值
AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY'昨天'
AUTOFILTER_RULETYPE_DYNAMIC_TODAY'今天​​'
AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW'明天'
AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE'今年迄今为止'
AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR'今年'
AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER'thisQuarter'
AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH'这个月'
AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK'本星期'
AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR'去年'
AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER“ lastQuarter”
AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH'上个月'
AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK'上个星期'
AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR'明年'
AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER'nextQuarter'
AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH'下个月'
AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK'下周'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1'M1'
AUTOFILTER_RULETYPE_DYNAMIC_JANUARY'M1'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2'M2'
AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY'M2'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3'M3'
AUTOFILTER_RULETYPE_DYNAMIC_MARCH'M3'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4'M4'
AUTOFILTER_RULETYPE_DYNAMIC_APRIL'M4'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5'M5'
AUTOFILTER_RULETYPE_DYNAMIC_MAY'M5'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6'M6'
AUTOFILTER_RULETYPE_DYNAMIC_JUNE'M6'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7'M7'
AUTOFILTER_RULETYPE_DYNAMIC_JULY'M7'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8'M8'
AUTOFILTER_RULETYPE_DYNAMIC_AUGUST'M8'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9'M9'
AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER'M9'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10'M10'
AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER'M10'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11'M11'
AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER'M11'
AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12'M12'
AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER'M12'
AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1'Q1'
AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2'Q2'
AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3'Q3'
AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4'Q4'
AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE'高于平均水平'
AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE'低于平均值'

我们一次只能将一个动态过滤器规则应用于一列。

十大筛选器

前十个过滤器与动态过滤器相似,因为它们基于单元格中实际数据值的汇总。但是,与只能选择一个选项的“动态过滤器”不同,“十大过滤器”使您可以根据多个条件进行选择:

您可以确定要使用最高(最高)值还是最低(最低)值。可以确定要在过滤器中选择多少个值。可以确定是百分比还是多个项目。

与动态过滤器一样,一次只能将一个前十名过滤器应用于一列。

我们从指定过滤器类型开始,这次是DYNAMICFILTER。

$columnFilter->setFilterType(
    \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER
);

然后我们创建规则:

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT,
        5,
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_TOPTENFILTER
    );

这将过滤列中前5%的值。

要指定最低值(底部2个值),我们将指定以下规则:

$columnFilter->createRule()
    ->setRule(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE,
        5,
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
    )
    ->setRuleType(
        \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_TOPTENFILTER
    );

TopTen过滤器的顶部/底部值/百分比的选项值均在\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule该类中定义 ,包括:

运算符常量值
AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE'byValue'
AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT'byPercent'

和

运算符常量值
AUTOFILTER_COLUMN_RULE_TOPTEN_TOP'最佳'
AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM'底部'

执行自动筛选

在MS Excel中应用自动过滤器时,它将根据所选条件为自动过滤器区域的每一行设置行隐藏/可见标志,以便仅显示与过滤器条件匹配的那些行。

当您设置或更改过滤器表达式时,PhpSpreadsheet不会自动执行等效功能,而仅在文件保存时。

应用过滤器

如果希望从脚本中执行过滤器,则需要手动执行。您可以使用autofilters showHideRows() 方法执行此操作。

$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
$autoFilter->showHideRows();

这会将与过滤条件匹配的所有行设置为可见,同时将其他所有行隐藏在自动过滤器区域内。

显示过滤的行

只需循环遍历自动过滤器区域中的行,无论是否符合过滤条件,仍将访问任何行。要有选择地仅访问过滤的行,您需要测试每行的可见性设置。

foreach ($spreadsheet->getActiveSheet()->getRowIterator() as $row) {
    if ($spreadsheet->getActiveSheet()
        ->getRowDimension($row->getRowIndex())->getVisible()) {
        echo '    Row number - ' , $row->getRowIndex() , ' ';
        echo $spreadsheet->getActiveSheet()
            ->getCell(
                'C'.$row->getRowIndex()
            )
            ->getValue(), ' ';
        echo $spreadsheet->getActiveSheet()
            ->getCell(
                'D'.$row->getRowIndex()
            )->getFormattedValue(), ' ';
        echo PHP_EOL;
    }
}

自动筛选排序

在MS Excel中,自动筛选还允许对行进行排序。PhpSpreadsheet 不支持此功能。

PhpSpreadsheet:高效Excel操作实战教程 PhpSpreadsheet是一款用于读写Excel文件的PHP库,可用于处理Microsoft Excel(XP、2007、2010、2013、2016、2019)以及OpenDocument Spreadsheet格式(.ods)的文件。它是由PHPExcel库演化而来,专注于提高性能和扩展性,支持流式读写操作,适用于大数据量场景。 阅读详情

相关推荐

滤波算法-呼吸心跳信号检测方法(四)

呼吸心跳信号检测系列文章:信号滤波处理

yjh_2019的博客 6269

PHP使用PhpSpreadsheet库的操作Excel表格

PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到使用 PhpSpreadsheet 开发的PHP要求 7.1或更高版本PhpSpreadsheet 支持链式操作。

工作中学习,学习中进步 3435

国科大 雁栖湖校区 研一上 课程避坑与生存指南

本文为国科大雁栖湖校区研一新生提供全面的课程避坑与生存指南,涵盖选课策略、核心课程学习技巧、校园生活攻略及心态管理。重点解析算法设计与分析、人工智能原理等硬核课程的学习方法,并分享食堂、住宿、自习室等实用生存技巧,帮助新生高效适应研究生生活。

weixin_29304985的博客 301

Phpspreadsheet 中文文档(七)技巧和诀窍

您也可以折叠列。请注意,您还应该将列设置为不可见,否则折叠将在Excel 2007中不可见。请参阅“分组/概述一行”部分以获取有关折叠的完整示例。您可以指示PhpSpreadsheet将摘要添加到右侧(默认)或左侧。您也可以折叠该行。请注意,您还应该将行设置为不可见,否则折叠将在Excel 2007中不可见。$i

withoutfear的博客 3264

MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层)。截止目前为止,Xilinx仅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 电平输入,其他的,都需要转换成LVDS来接收。

ONEFPGA的博客 5626

别再到处找了!2024最新银河麒麟V10全版本(飞腾/龙芯/兆芯)官方下载与安装保姆级教程

本文提供2024年银河麒麟V10操作系统全版本(飞腾/龙芯/兆芯)的官方下载与安装保姆级教程,涵盖版本选择、镜像获取、启动盘制作及安装优化等关键步骤,助您高效部署国产操作系统。

weixin_26846533的博客 483

Phpspreadsheet 中文文档(三) 计算引擎

用于验证的对象作为基于服务器区域设置的日期值,因此,如果服务器设置为英国,则通过模棱两可的值'07 / 08/2008'将被视为2008年8月7日,而如果服务器为UK,则将其视为2008年7月8日设置为美国。代表日期的Excel时间戳或PHP时间戳或对象,该日期是在指定日期(start_date)之前或之后的月份数。如果格式化为日期的单元格包含整数或。输入列标签为字符串(用双引号引起来),例如“ Age”或“ Yield”,或者输入代表列在列表中位置的数字(不带引号):1为第一列,2用于第二列,依此类推。

withoutfear的博客 1149

Transformer实战(32)——Transformer模型压缩

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。

盼小辉丶的博客 2550

PhpSpreadsheet中文文档 | 简介

1、PhpSpreadsheet 是什么 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式 PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到 使用 PhpSpreadsheet 开发的PHP要求 7.1或更高版本 PhpSpreadsheet 支持链式操作 2、PhpSpreadsheet 支持的文件格式

jackbon8的博客 4万+

OPC通信从入门到精通_1_OPC基础知识及简单C#程序编写(OPCDA,OPCUA简介;OPC通信数据流框架图;C#程序编写)

ModbusTCP通信是采用直接方式进行通信,用OPC的方式如何去做呢?PLC作为ModbusTCP服务器,用KepServer作为ModbusTCP客户端,同时作为OPC服务器,PC作为OPC客户端新建项目,加载dll库(利用COM技术写的)添加引用,查看到其中包含了众多方法其中OPCGroups继承于IOPCGroups接口。

分享学习成长历程,Winter is coming! 1万+

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

在人工智能的浪潮中,大型语言模型(LLMs)正逐渐成为研究和应用的热点。它们在自然语言处理(NLP)的各个领域,如文本生成、翻译、问答等任务中展现出了卓越的能力。Qwen2-7B模型,作为该领域的佼佼者,不仅因其庞大的参数量和强大的表示能力受到关注,更因其在微调后能够更好地适应特定任务而备受关注。本文将详细介绍如何利用LLaMA-Factory这一高效的微调框架对Qwen2-7B进行微调,以期达到提升模型在特定任务上的表现。

寻道AI,探索AI无限可能! 2万+

PhpSpreadsheet中文文档 | 基础Spreadsheet开发使用示例

· 1、 实例化Spreadsheet对象 <?php namespace app // 给类文件的命名空间起个别名 use PhpOffice\PhpSpreadsheet\Spreadsheet; //Xlsx类 保存文件功能类 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // 实例化 Spreadsheet 对象 $spreadsheet = new Spreadsheet(); 2、 Spreadsh

jackbon8的博客 4万+

第154章 点云大规模并行处理(GPU加速)

优化点云处理✨ 使用。

yumeiguo的博客 374

phpspreadsheet 中文文档(二) 结构+自动筛选

2019年10月11日13:55:41 原理图 自动加载器 PhpSpreadsheet依赖于Composer自动加载器。因此,在独立使用PhpSpreadsheet之前,请确保先运行composer install。或使用将其添加到预先存在的项目中composer require phpoffice/phpspreadsheet。 电子表格在内存中 PhpSpreadsheet的体系结构以可...

Z.X的博客 874

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

php 表格 筛选,phpspreadsheet 中文文档(二) 结构+自动筛选

2019年10月11日13:55:41原理图自动加载器PhpSpreadsheet依赖于Composer自动加载器。因此,在独立使用PhpSpreadsheet之前,请确保先运行composer install。或使用将其添加到预先存在的项目中composer require phpoffice/phpspreadsheet。电子表格在内存中PhpSpreadsheet的体系结构以可以用作内存电子...

weixin_30604459的博客 803

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

phpspreadsheet 中文文档 粗翻版

http://get.ftqq.com/9211.get 官方使用文档https://phpspreadsheet.readthedocs.io/en/stable/topics/accessing-cells/ api文档https://phpoffice.github.io/PhpSpreadsheet/master/PhpOffice.html 翻译的是使用文档,机翻+校验,因为现在单个文档内容放的东西有限分成几篇文章 只翻译标题的主要部分 文档部分主要的菜单↓↓ Ac...

jshyzx1999的博客 365

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

php 可选表格,phpspreadsheet 中文文档(二) 结构

2019年10月11日13:55:41原理图自动加载器PhpSpreadsheet依赖于Composer自动加载器。因此,在独立使用PhpSpreadsheet之前,请确保先运行composer install。或使用将其添加到预先存在的项目中composer require phpoffice/phpspreadsheet。电子表格在内存中PhpSpreadsheet的体系结构以可以用作内存电子...

weixin_39535283的博客 344

php iofactory列,phpspreadsheet 中文文档 粗翻版

2019年10月11日09:32:33翻译的是使用文档,机翻+校验,因为现在单个文档内容放的东西有限分成几篇文章只翻译标题的主要部分文档部分主要的菜单↓↓Accessing cells 访问单元格Setting a cell value by coordinate 通过坐标设置单元格值Excel Da...

weixin_32059869的博客 453

PhpSpreadsheet:3 步让 PHP 读写 Excel 电子表格,新手也能快速上手报表生成

用 PhpSpreadsheet 读写 Excel 电子表格,是 PHP 项目里绕不开的一件实事。它是个纯 PHP 实现的库,不需要 Excel、不需要 COM 组件,在服务器或 CLI 里就能直接读取和生成 `.xlsx` / `.xls` / `.csv` / `.ods` / HTML 等表格文件。适合正在做后台导出、数据导入、自动化报表的 PHP 开发者——哪怕你刚接触它,也能在几分钟内跑

gitblog_01033的博客 416

PHPSpreadsheet自封装类库讲解文档2.0

还记得《PHPSpreadsheet自封装类库讲解文档》这篇文章吗?近些日子笔者为了满足公司项目需求,将“PHPSpreadsheet自封装类库2.0”做出来啦,在对导出excel功能进行完善外,着重点放在导入excel(获取excel表格数据上) 大致功能如下: 1. 读取上传/本地文件 2. 数据列名格式化 3. 筛选特定格式单元格数据 4. 修改器 formatter(含内置转换功能) 5. 多种获取数据方法

Millionmile的博客 1473

PhpSpreadsheet实用技巧终极指南:从入门到精通完整教程

PHPOffice/PhpSpreadsheet是一个功能强大的纯PHP库,专门用于读写电子表格文件。无论您是需要处理Excel、CSV还是其他格式的表格数据,这个库都能提供完整的解决方案。本文将带您快速掌握PhpSpreadsheet的核心技巧,让您轻松应对各种PHP电子表格处理需求。 ## 基础入门:快速上手方法 ### 环境准备与安装 首先通过Composer安装PhpSpreadsh

gitblog_00499的博客 1094

如何用PHPOffice PhpSpreadsheet在5个实战场景中高效处理电子表格

PHPOffice PhpSpreadsheet是一个强大的纯PHP库,专门用于读写各种电子表格文件格式。无论您需要生成复杂的财务报告、批量处理数据导出,还是构建动态的数据可视化工具,这个库都能提供完整的解决方案。本文将带您了解5个最常见的实战场景及其最佳实践,帮助您避免常见的陷阱并优化性能表现。 ## 场景一:批量生成销售报告并自动设置元数据 当您需要为多个部门生成统一的销售报告时,正确设置

gitblog_00694的博客 1065

快速掌握PhpSpreadsheet:PHP电子表格处理的终极指南

PhpSpreadsheet是PHP开发者处理Excel电子表格的强大工具库,支持多种文件格式的读写操作。本文将为您展示如何快速上手这个功能丰富的库,从基础配置到高级应用,帮助您轻松实现数据导入导出和报表生成。 PhpSpreadsheet作为一个纯PHP库,能够完美替代传统的Excel COM组件,特别适合在服务器环境中进行批量数据处理和自动化报表生成。 ## 核心优势与项目特色 PhpS

gitblog_01085的博客 850

PHPOffice/PhpSpreadsheet常见问题深度解析与技术解决方案

PHPOffice/PhpSpreadsheet常见问题深度解析与技术解决方案 【免费下载链接】PhpSpreadsheet A pure PHP library for reading and writing spreadsheet files ...

gitblog_00525的博客 351
上一篇: Phpspreadsheet 中文文档(一) 访问单元格
下一篇: Phpspreadsheet 中文文档(三) 计算引擎
withoutfear
博客等级 码龄13年 541粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值