使用php读取csv文件的最简单方法

时间:2010-10-18 15:41:36

标签: php

使用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文件

6 个答案:

答案 0 :(得分:4)

修改 在我看来,您想要阅读CSV文件。

alt text

以上是电子表格的功能示例

  

$ 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”);

就是这样!

更多信息和文档:

http://phpexcel.codeplex.com/

答案 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');