使用php
读取csv文件的最简单方法是什么?这是代码,这里的问题是,它在一行中读取所有内容
$row = 1;
if (($handle = fopen("1.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);
}
由于 让
[编辑]
道歉,是的我想读一个csv文件
答案 0 :(得分:4)
修改强> 在我看来,您想要阅读CSV文件。
以上是电子表格的功能示例:
$ file_handle = fopen(“widgets.csv”, “R”);
while(!feof($ file_handle)){
$ line_of_text = fgetcsv($ file_handle, 1024);
print $ line_of_text [0]。 $ line_of_text [1]。 $ line_of_text [2]。 “&LT; BR&gt;” 中;
}
FCLOSE($ file_handle);
但是如果你真的想要以Excel格式阅读文件。 xlsx ,您可以使用PHPExcel库。 http://phpexcel.codeplex.com/
阅读电子表格:
$ objReader = new PHPExcel_Reader_Excel2007();
$ objPHPExcel = $ objReader-&gt; load(“05featuredemo.xlsx”);
设置属性
回音日期('H:i:s')。 “设置 属性的\ n“;
$ objPHPExcel-&gt; getProperties() - &gt; setCreator(“Maarten Balliauw”);
$ objPHPExcel-&GT;的GetProperties() - &GT; setLastModifiedBy(“马腾 Balliauw“);
$ objPHPExcel-&GT;的GetProperties() - &GT;的setTitle(“办公 2007 XLSX测试文档“);
$ objPHPExcel-&GT;的GetProperties() - &GT; SETSUBJECT(“办公 2007 XLSX测试文档“);
$ objPHPExcel-&gt; getProperties() - &gt; setDescription(“Office 2007 XLSX的测试文档, 使用PHP类生成。“);
添加一些数据
回音日期('H:i:s')。 “加一些 数据\ n“个;
$ objPHPExcel-&GT; setActiveSheetIndex(0);
$ objPHPExcel-&gt; getActiveSheet() - &gt; SetCellValue('A1','Hello');
$ objPHPExcel-&gt; getActiveSheet() - &gt; SetCellValue('B2','world!');
$ objPHPExcel-&gt; getActiveSheet() - &gt; SetCellValue('C1','Hello');
$ objPHPExcel-&gt; getActiveSheet() - &gt; SetCellValue('D2','world!');
重命名表
回音日期('H:i:s')。 “ 改名 片\ n“个;
$ objPHPExcel-&GT; getActiveSheet() - &GT;的setTitle( '简单');
保存Excel 2007文件
回音日期('H:i:s')。 “ 写给 Excel2007格式\ n“;
$ objWriter = new PHPExcel_Writer_Excel2007($ objPHPExcel);
$ objWriter-&GT;保存(str_replace函数( 'PHP', '.xlsx', FILE ));
仅阅读特定表格
您可以在阅读器上设置选项setLoadSheetsOnly,以指示读者仅加载具有给定名称的工作表:
$ objReader = new PHPExcel_Reader_Excel2007();
$ objReader-&GT; setLoadSheetsOnly( 数组(“表1”,“我的特殊表”) );
$ objPHPExcel = $ objReader-&GT;负载( “05featuredemo.xlsx”);
就是这样!
更多信息和文档:
答案 1 :(得分:1)
您可以尝试删除'length'参数,或设置为0,尤其是如果您的行超过1000个字符。
答案 2 :(得分:0)
如果你在windows下使用php,你可以创建一个com对象。
$ excel_app = new COM(“Excel.application”)或Die(“Did 不连接“);
答案 3 :(得分:0)
试试PHP-ExcelReader。我从未使用它,但它声称是跨平台的。
答案 4 :(得分:0)
您没有指明哪个版本的Excel;但请看一下PHPExcel(可以读取BIFF5-8格式,以及罕见的Excel2003 XML格式,以及Excel2007引入的最新OpenXML标准)。它是纯PHP,因此可以在任何平台上运行(不需要.COM)。
既得利益声明:我是开发商之一。
答案 5 :(得分:0)
以下是最好的工作示例:
$name='pdf.pdf';
$pdf->Output($path.$name, 'F');