mok*_*hal 6 php mysql phpexcel
我想显式地将 cell\xe2\x80\x99s 数据类型设置为数字值的文本。
\n\n我正在从 MySQL 数据库获取数据并使用 PHPExcel 库导出到 Excel 文件。我有大约 20 位长的数字,我想将其导出到 Excel 单元格(整列的每个单元格将有不同的数字)。
\n\n我发现您可以通过 PHPExcel 文档 4.6.7 中提到的代码来完成此操作。
\n\n$i=0;\nforeach($dd as $d) {\n $objPHPExcel\n ->setActiveSheetIndex(0)\n ->getcell(\'A\'.$i)\n ->setValueExplicit($d[\'serial_no\'], PHPExcel_Cell_DataType::TYPE_STRING);\n $i++;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n$d[\'serial_no\']-来自数据库的不同序列,例如“9876543211234567890”。
我已经实现了这段代码,它工作正常。但是,当我打开该 Excel 工作表并尝试修改该单元格然后单击其他任何位置时,它会再次转换为数字格式(客户的要求:它应该保留为文本)。
\n\n即使我在其中进行编辑,我也想将该单元格保留为文本。
\n我还没有测试过它,但可能将单元格设置为“quotePrefix”可能会阻止 MS Excel 在使用 MS Excel 编辑数据时尝试转换数据类型
$objPHPExcel->getActiveSheet()
->getStyle('A2:O128')
->setQuotePrefix(true);
Run Code Online (Sandbox Code Playgroud)
仅限 Excel2007
$objPHPExcel->getActiveSheet()
->getStyle('A'.$i)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18516 次 |
| 最近记录: |