1
何が!私はPhpExcelで長いテーブルをxlsxからcsvに変換します。私の最後のファイルで値が772,68から772.6799999999999に変更されたので、すべてがうまくいっていましたが、今はちょっと困惑しています。PhpExcellは変換ファイルの値を変更します
報告にCSVファイルを使用していますが、この値は長すぎます。(リモートの)インタープリタはそれを理解できません。
私は何が起こったのか理解できません。
function convertXLStoCSV($infile,$outfile) {
$fileType = PHPExcel_IOFactory::identify($infile);
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($infile);
$max = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();
$objPHPExcel->getActiveSheet()->getStyle('B2:B'.$max.'')->getNumberFormat()->setFormatCode('YYYY.MM.DD');
$objPHPExcel->getActiveSheet()->getStyle('AP2:AP'.$max.'')->getNumberFormat()->setFormatCode('YYYY.MM.DD');
$objPHPExcel->getActiveSheet()->getStyle('AQ2:AQ'.$max.'')->getNumberFormat()->setFormatCode('YYYY.MM.DD');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->setDelimiter(';');
$objWriter->save($outfile);
}
ありがとうございました。 (: '$最大' 'AO AO2'。。) - > getNumberFormat() - > setFormatCode(PHPExcel_Style_NumberFormat>でgetStyle - \t $ objPHPExcel-> GetActiveSheet関数():これは私のために働いている :私は他の解決策を見つけます:: FORMAT_NUMBER_00); –
数値形式のマスクが適用されていることを確認すると、元のファイルのマスクであっても、保存前に自分自身を適用したマスクであっても問題は解決されます –