csv to excel conversion

后端 未结 6 1680
天涯浪人
天涯浪人 2020-12-05 05:26

Is there a way to convert csv file to excel file upon request through apache/.htaccess

相关标签:
6条回答
  • 2020-12-05 05:48

    Using PHPExcel

    include 'PHPExcel/IOFactory.php';
    
    $objReader = PHPExcel_IOFactory::createReader('CSV');
    
    // If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader
    $objReader->setDelimiter("\t");
    // If the files uses an encoding other than UTF-8 or ASCII, then tell the reader
    $objReader->setInputEncoding('UTF-16LE');
    
    $objPHPExcel = $objReader->load('MyCSVFile.csv');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('MyExcelFile.xls');
    
    0 讨论(0)
  • 2020-12-05 05:59

    Using PhpSpreadheet:

    require '../../vendor/autoload.php';
    
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    
    $spreadsheet = new Spreadsheet();
    $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
    
    /* Set CSV parsing options */
    
    $reader->setDelimiter(',');
    $reader->setEnclosure('"');
    $reader->setSheetIndex(0);
    
    /* Load a CSV file and save as a XLS */
    
    $spreadsheet = $reader->load('../../uploads/test.csv');
    $writer = new Xlsx($spreadsheet);
    $writer->save('test.xlsx');
    
    $spreadsheet->disconnectWorksheets();
    unset($spreadsheet);
    

    This one worked for me like a charm ! Cheers !!!

    0 讨论(0)
  • 2020-12-05 06:00

    Note: PHPExcel is now listed as DEPRECATED.

    Users are directed to PhpSpreadsheet.

    0 讨论(0)
  • 2020-12-05 06:03

    Yes, since apache is open-source, you can modify the .htaccess parser to call a library to convert your CSV files into excel files. But I don't think this is what you're looking for. :-).

    I think really what you need is a dynamic web site. Then you can use PHP or any supported language to do what you need to do.

    something like this: http://www.westwideweb.com/wp/2009/01/12/convert-csv-to-xls-excel-in-php/

    0 讨论(0)
  • 2020-12-05 06:03

    There is a project in sourceforge that does this conversion:

    http://sourceforge.net/projects/py-csv2xls/

    But for the conversion you need to make a dynamic page in apache (in python, php...)

    0 讨论(0)
  • 2020-12-05 06:04

    PHPExcel is deprecated. You must use PhpSpreadsheet.

    With PhpSpreadsheet, you can convert csv to xlsx by the following code:

    $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Csv');
    
    // If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader
    // $reader->setDelimiter("\t");
    // If the files uses an encoding other than UTF-8 or ASCII, then tell the reader
    // $reader->setInputEncoding('UTF-16LE');
    
    $objPHPExcel = $reader->load('/home/superman/projects/test/csv-app/file.csv');
    $objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objPHPExcel, 'Xlsx');
    $objWriter->save('excel_file.xlsx');
    
    0 讨论(0)
提交回复
热议问题