【发布时间】:2019-12-09 17:50:03
【问题描述】:
使用PHPExcel在文件中创建HTML数据并插入,
$FinalCSVName = "TEMP_EXCEL";
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->fromArray( $this->GetFinalDataFieldsXLS( $conn ) , NULL, 'A1');
foreach( $result as $row ) {
unset( $row["process_log_id"] );
unset( $row["SellerID"] );
$objPHPExcel->getActiveSheet()->fromArray($row, NULL, 'A'.$i);
$i++;
}
$objPHPExcel->getActiveSheet()->getColumnDimension("CM")->setAutoSize(true);
$objWriter = PHPExcel_IOFactory::createWriter( $objPHPExcel, 'Excel2007' );
$objWriter->save( Constant::MAIN_FOLDER_PATH.Constant::FINAL_EXCEL_PATH.$FinalCSVName.'.xlsx' );
使用此代码生成 .xlsx 文件,在 CM 列索引中插入 html 内容,例如:-
<div id="accordion"> <div class="card"> <div class="card-header" id="headingOne" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"><h5 class="mb-0"><button class="btn" ><strong>Summary</strong></button></h5></div><div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion"><div class="card-body"><div class="row"><div class="col-sm-2"><b>Part Name :...
如果 HTML 内容超过 32768(即单元格的默认字符长度),则不会写入完整的 HTML。 在我的情况下,HTML 字符长度在 65000 以上,所以它会写 32768 字符。这会导致 UI 不正确,因为 HTML 格式不正确。那么如何增加单元格的字符长度呢?
【问题讨论】:
-
怀疑您能否更改 Excel 本身的“硬”限制。这几乎听起来像是经典的XY problem。通过将大量 HTML 放入电子表格单元格中,您试图解决/做什么?
-
是的,我正在导入产品,并且有包含 HTML 结构的描述列。但是对于少数记录,HTML 租船者长度超过 50000。但 excel 单元格的默认限制是 32786。所以 HTML 不完整,产品页面格式不正确。