0
我有管理員通過上傳.xlsx
.xls
或.csv
文件轉換成HTML表單更新網站。問題在於第二張工作表NORTH
未被保存到第一張工作表SOUTH
的服務器中。PHPExcel輸入具有2片材,僅輸出已其中1保存
我的代碼:
<?php
require('./Classes/PHPExcel/IOFactory.php');
ini_set('max_execution_time', 800);
ini_set('memory_limit', 200M);
$inputFileType = 'Excel2007';
$inputFileName = $_FILES['uploaded']['tmp_name'];
class MyReadFilter implements PHPExcel_Reader_IReadFilter {
public function __construct($fromColumn, $toColumn) {
$this->columns = array();
$toColumn++;
while ($fromColumn !== $toColumn) {
$this->columns[] = $fromColumn++;
}
}
public function readCell($column, $row, $worksheetName = '') {
// Read columns from 'A' to 'AF'
if (in_array($column, $this->columns)) {
return true;
}
return false;
}
}
$filterSubset = new MyReadFilter('A', 'AF');
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadFilter($filterSubset);
$objReader->setLoadSheetsOnly(array("SOUTH", "NORTH"));
$objPHPExcelReader = $objReader->load($inputFileName);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcelReader, 'CSV');
$objWriter->save('abc.csv');
$files = fopen('abc.csv', 'r');
while (($line = fgetcsv($files)) !== FALSE) {
$csv_array[] = array_combine(range(1, count($line)), array_values($line));
}
?>
我做了什麼錯,不會允許我的代碼來節省工作表? TIA!
CSV doenst允許工作表,XLS和xlxs做。 – Stefan
真的嗎?我想我只是想,他們這樣做,因爲當你在MS Excel中編輯它們時,你可以打開一個新的(從未嘗試保存它,我認爲它錯誤)。我想我會把它們保存爲兩個不同的電子表格。謝謝@Stefan –
MS Excel本身只允許您在保存爲csv時保存單個工作表 –