我需要将数据从excel导入到php,因为我听说它很难,所以我需要将excel文件转换为csv。但我有问题,我无法成功转换,当我尝试收到错误消息时:
我原来的excel文件如下:
转换为csv之后:
有什么问题?我需要转换并保持相同的格式。
我的csv阅读php文件如下:
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
结果在php中阅读之后的样子: example
所以我需要任何想法如何将xls转换为csv而不会丢失格式或如何将数据从excel文件导入到php。有人可以帮帮我吗?谢谢。
答案 0 :(得分:1)
此PHPExcel库存在一些加载大文件的问题(内存/时间)。 如果你的文件不是那么大,phpExcel是一个很好的解决方案,否则你可能需要尝试直接加载.csv格式的数据。
答案 1 :(得分:0)
根据您的要求,
@Nisarg Patel你给我链接到PHPExcel我试过用这个, 但不成功,我不知道我是如何使用它的。全部3 文件夹我需要将文件,文档和示例放到我的FTP中? 那么我需要如何使它从test.xls导入数据我需要的东西 改变?谢谢。
您可以使用PHPExcel。
从HERE
下载Library of PHPExcel
然后在您的文件中加入IOFactory.php
文件。
/** PHPExcel_IOFactory */
require_once '../../../includes/PHPExcel/Classes/PHPExcel/IOFactory.php';
然后创建对象
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load("mytest1.xls");
在此之后使用Standard functions of PHPExcel
来获取数据。
答案 2 :(得分:0)
所以我需要任何想法如何将xls转换为csv而不会丢失格式或如何将数据从excel文件导入到php。有人可以帮帮我吗?谢谢。
CSV没有任何样式功能。 Excel,Google Docs,Libre等...将它们分成单元格,但文件本身就像它的名字一样 - 以逗号分隔(或可能由其他字符分隔)值列表。通常使用双引号表示字符串和表示行的换行符。我能想出完成你想要的东西的唯一方法是用HTML编码你的值。