【发布时间】:2018-07-07 21:19:51
【问题描述】:
我正在使用 excel/reader.php 读取 CSV 文件并获取数据。
CSV 中的日期字段的值为:20/10/2014
Customer Name Date
Lorem Spem 20/10/14
当我在使用 PHP 读取 CSV 后打印此内容时:
$file_name = $_FILES['file']['tmp_name'];
$library_path = getcwd().'/application/libraries/excel/reader.php';
require_once $library_path;
$excel = new Spreadsheet_Excel_Reader();
$excel->setOutputEncoding('CP1251');
$status = $excel->read($file_name);
$totalSheets = count($excel->sheets);
for($sheetCount = 0 ; $sheetCount < $totalSheets ; $sheetCount++)
{
$excel_data = $excel->sheets[$sheetCount]['cells'];
$totalRows = $excel->sheets[$sheetCount]['numRows'];
print_r($excel_data);
}
它给出了结果:21/10/2014
Array ( [1] => Lorem Spem [2] => 21/10/2014 )
我不知道为什么它会在 CSV 的日期上加一天。
【问题讨论】:
-
用户需要查看您的
php代码添加您的代码如this -
可能是时区问题;但没有更多信息,我们只能猜测
-
@Naruto:我已经用有用的信息更新了问题,请检查是否可以找到,为什么 excel 阅读器会在输出中添加 1 天。
-
请张贴(相关部分)您的代码。但我确实喜欢@MarkBaker 对时区的怀疑。尝试在一天中的不同时间运行它,看看会发生什么。
-
如果只是CSV文件,何不干脆使用PHP内置的fgetcsv()函数;那么您就可以完全控制数据的每个元素
标签: php phpexcelreader