我需要 PHPEXCEL 库的帮助,一切正常,我成功地将我的 SQL 查询提取到 excel5 文件,我需要将此文件提供给运输公司以便自动收集有关包的信息,不幸的是,生成的 excel 文件有一些 ascii单元格文本的每个字母之间的字符,导入excel文件时需要手动删除这些字符。如果我打开 excel 文件,一切都很好,我看到:公司名称,如果我用 notepad++ 打开 excel 文件,我会这样看到单元格值:C(NUL)O(NUL)M(NUL)P(NUL)A (NUL)N(NUL)YN(NUL)A(NUL)M(NUL)E 如果我再次使用 excel 打开文件并保存,然后使用记事本++ 重新打开,我会看到公司名称。所以我不明白为什么每次我使用 PHPEXCEL 创建一个 excel 文件时,我所有单词的每个字母都用(nul)每个字母填充。
此外,如果您打开从 PHPExcel 示例生成的原始 excel 文件也充满了 (nul),如果您打开并保存它,则 (nul) 消失了。任何帮助将不胜感激,谢谢。什么是(空)???0x00???字符(0)???
好的,这是示例:
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('Disponibile solo su browser');
require_once dirname(__FILE__) . '/Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Solidus")
->setLastModifiedBy("Solidus")
->setTitle("Import web")
->setSubject("Import File")
->setDescription("n.a")
->setKeywords("n.a")
->setCategory("n.a");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValueExplicit("A1", "COMPANY")
->setCellValue('A2', 'SAMSUNG');
$objPHPExcel->getActiveSheet()->setTitle('DDT');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="TEST.xls"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Cache-Control: private',false);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
ob_end_clean();
$objWriter->save('php://output');
从这个小例子可以看出,这个脚本创建了一个包含 2 个单元格的文件 excel5,A1 = COMPANY,A2 = SAMSUNG
当我将此文件发送给运输公司时,他们将文件导入到他们的系统中,但是从图片中可以看出,每个字母之间都有一个奇怪的字符。
所以我注意到每次我用记事本++文件打开生成的Excel5时都会得到:S(nul)A(nul)M(nul)S(nul)U(nul)N(nul)G
如果我用 excel 保存保存,然后用记事本 ++ 再次打开它,我会得到:SAMSUNG,这个文件对于运输公司来说是可以的
所以我的问题是,我应该如何避免生成的文件在每个字母之间包含 thi '(nul) 字符????一些帮助?