问题
This question has been asked a few other posts, but the solution is not provided.
I want to get an Excel output from a HTML table with photos and text. I found the following two plugins for the Excel output(The most complete plug in my opinion):
http://ngiriraj.com/pages/htmltable_export/demo.php
and
http://www.jqueryscript.net/table/Export-Html-Table-To-Excel-Spreadsheet-using-jQuery-table2excel.html
CountryPopulationDate%gePhoto
Chinna1,363,480,000March 24, 201419.1




and exporting as
I also included a column with images as shown in this fiddle as
If I export this table to Excel, the images are not showing. So how can I export those images too along with the data. What kind of output should be used?
If this is not possible in Excel output, what format should be used for output?
回答1:
If you don't need an original Excel-File, but a file, which displays the columns of your table in Excel (And can be edited within Excel or LibreOffice Calc or many other programs), you should consider using CSV (comma-separated values).
It's easy to create and edit and there is no need of using any PlugIn or Library.
Possible Output
Column Name 1, Column Name 2, Column Name 3
'Row1Val1', 'Row1Val2', 'Row1Val3'
'Row2Val1', 'Row2Val2', 'Row2Val3'
'Row3Val1', 'Row3Val2', 'Row3Val3'
Convert to Excel
But in case you really want an Excel File,
PHPExcel will be your friend. It uses the CSV file to create a fully operational Excel-File.
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');
Example Code Snippet from: csv to excel conversion
Image insertion
PHP Excel provides a functionality to include images:
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('PHPExcel logo');
$objDrawing->setDescription('PHPExcel logo');
$objDrawing->setPath('./images/phpexcel_logo.gif'); // filesystem reference for the image file
$objDrawing->setHeight(36);
$objDrawing->setCoordinates('D24');
$objDrawing->setOffsetX(10);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
Snippet From CodePlex.
来源:https://stackoverflow.com/questions/29500323/export-html-table-to-excel-with-text-and-images