通过php代码在xls表中插入图像

时间:2010-10-28 07:12:48

标签: php

问候!! 我必须在行[0],列[0]上插入一个徽标(图像)。我正在使用“Spreadsheet_Excel_Writer”。我尝试了它的insertBitmap()方法,程序工作正常,但它没有显示位图图像在xls工作表上,而不是空白行。可能是什么原因?你能告诉我参数的确切字符串格式吗?有没有其他方法可以使用PHP5在xls工作表上插入图像。我是一个非常新的PHP,它将是一个很好的帮助。

度过愉快的时光!!

[编辑] 这是代码,根据Aman的评论如下:

$sew =& new Spreadsheet_Excel_Writer ();
$worksheet =& $sew->addWorksheet (substr (strval ($name).strval ($sht), 0, 31));
$worksheet->insertBitmap ($row,$col,$image,$x,$y,$scale_x,$scale_y);

3 个答案:

答案 0 :(得分:2)

我永远无法让Spreadsheet_Excel_Writer与图像插入一起正常工作。不确定它是否是库中的错误或者是什么。但在任何情况下,S_E_W都是过时的,你应该切换到PHPExcel,它支持最近的Excel格式(包括.xlsx)进行读写,而S_E_W仅限于BIFF 5.0,即Excel '95(或者左右)只支持写作。

答案 1 :(得分:1)

我刚刚使用Spreadsheet_Excel_Writer进行了测试。 SEW使用BIFF5格式保存excel文件。 Open Office Calc将从BIFF8读取图像,但不读取BIFF5文件中的图像。

修改

进一步测试:

使用$ workbook-> setVersion(8)将SEW设置为写入BIFF8;仍然不能将位图图像正确写为BIFF8文件。似乎除非你想重写SEW以正确存储BIFF8的图像,那么当你在OOCalc中打开文件时你不会看到它们...没有通过OOCalc或SEW代码阅读,我不知道是什么问题是。当文件保存为BIFF5时,Gnumeric也不会读取图像,但当文件保存为BIFF8时,它会正确显示图像。

答案 2 :(得分:0)

我已经开始工作了。问题是,这位作家对细胞覆盖非常敏感。

您的语法是正确的。

需要注意的事项:

  • 确保文件是24位BMP。这是作家唯一支持的。
  • 确保没有任何内容覆盖放置图像的单元格。
  • 确保图像路径正确。
  • 并确保设定比例。如果未设置,则为0,不显示图像。默认值标记为1,但不是。