js导出Excel 的图片问题
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<body>
<input type="button" name="fors:_id7" value="导出" onClick="MakeExcel()" />
<table width="0" border="0" align="center" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td><table id="fors:data" width="1160" height="266" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr>
<td width="122" height="63" align="center" bgcolor="#CCCCCC"><span class="STYLE1">供应商</span></td>
<td width="111" align="center" bgcolor="#CCCCCC"><span class="STYLE1">所属订单</span></td>
<td width="149" align="center" bgcolor="#CCCCCC"><span class="STYLE1">商品图片</span></td>
<td width="158" align="center" bgcolor="#CCCCCC"><span class="STYLE1">我方货号</span></td>
<td width="171" align="center" bgcolor="#CCCCCC"><span class="STYLE1">供方商品名称及货号</span></td>
<td width="178" align="center" bgcolor="#CCCCCC"><span class="STYLE1">颜色、尺码</span></td>
<td width="117" align="center" bgcolor="#CCCCCC"><span class="STYLE1">订单数量</span></td>
<td width="145" align="center" bgcolor="#CCCCCC"><span class="STYLE1">条形码</span></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">111</td>
<td align="center" bgcolor="#FFFFFF">sfasfasaf</td>
<td width="149" height="200" align="center" valign="middle" bgcolor="#FFFFFF"><img src="http://img.wholesale-dress.net/images/201104/201104251704401558.jpg"></td>
<td align="center" bgcolor="#FFFFFF">1231313</td>
<td align="center" bgcolor="#FFFFFF">123123123</td>
<td align="center" bgcolor="#FFFFFF">1231231231</td>
<td align="center" bgcolor="#FFFFFF">1312312</td>
<td align="center" bgcolor="#FFFFFF">asdasdasasdad</td>
</tr>
</table></td>
</tr>
</table>
<script language="javascript" type="text/javascript">
function MakeExcel(){
var i,j;
try {
var xls = new ActiveXObject ( "Excel.Application" );
}
catch(e) {
alert( "肉容将导出成Excel表格并保存到c:盘下面");
return "";
}
xls.visible =false; //设置excel为可见
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
<!--合并-->
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,8)).mergecells=true;
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,8)).value="信息";
// xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Interior.ColorIndex=5;//设置底色为蓝色
// xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Font.ColorIndex=4;//设置字体色
// xlsheet.Rows(1). Interior .ColorIndex = 5 ;//设置底色为蓝色 设置背景色 Rows(1).Font.ColorIndex=4
<!--设置行高-->
xlsheet.Rows(1).RowHeight = 25;
<!--设置字体 ws.Range(ws.Cells(i0+1,j0), ws.Cells(i0+1,j1)).Font.Size = 13 -->
xlsheet.Rows(1).Font.Size=14;
<!--设置字体 设置选定区的字体 xlsheet.Range(xlsheet.Cells(i0,j0), ws.Cells(i0,j0)).Font.Name = "黑体" -->
xlsheet.Rows(1).Font.Name="黑体";
<!--设置列宽 xlsheet.Columns(2)=14;-->
xlsheet.Columns("A:D").ColumnWidth =18;
<!--设置显示字符而不是数字-->
xlsheet.Columns(2).NumberFormatLocal="@";
xlsheet.Columns(8).NumberFormatLocal="@";
//设置单元格内容自动换行 range.WrapText = true ;
//设置单元格内容水平对齐方式 range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//设置单元格内容竖直堆砌方式
//range.VerticalAlignment=Excel.XlVAlign.xlVAlignCenter
//range.WrapText = true; xlsheet.Rows(3).WrapText=true 自动换行
//设置标题栏
xlsheet.Cells(2,1).Value="供应商";
xlsheet.Cells(2,2).Value="所属订单";
xlsheet.Cells(2,3).Value="商品图片";
xlsheet.Cells(2,4).Value="我方货号";
xlsheet.Cells(2,5).Value="供方商品及名称及货号";
xlsheet.Cells(2,6).Value="颜色、尺码";
xlsheet.Cells(2,7).Value="订单数量";
xlsheet.Cells(2,8).Value="订单数量";
var oTable=document.all['fors:data'];
var rowNum=oTable.rows.length;
for(i=2;i<=rowNum;i++){
for (j=1;j<=8;j++){
//html table类容写到excel
if(oTable.rows(i-1).cells(j-1).innerHTML.toLowerCase().indexOf('<img')!=-1){
//如果其HTML代码包括 <img
xlsheet.Cells(i+1,j).Select();//选中Excel中的单元格
xlsheet.Pictures.Insert(oTable.rows(i-1).cells(j-1).getElementsByTagName('img')[0].src);//插入图片
}
else{
xlsheet.Cells(i+1,j).Value=oTable.rows(i-1).cells(j-1).innerHTML;
}
//oSheet = xlBook.ActiveSheet;
//oSheet.Cells(i,3);
}
}
<!-- xlsheet.Range(xls.Cells(i+4,2),xls.Cells(rowNum,4)).Merge; -->
// xlsheet.Range(xlsheet.Cells(i, 4), xlsheet.Cells(i-1, 6)).BorderAround , 4
// for(mn=1,mn<=6;mn++) . xlsheet.Range(xlsheet.Cells(1, mn), xlsheet.Cells(i1, j)).Columns.AutoFit;
xlsheet.Columns.AutoFit;
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(rowNum+1,8)).HorizontalAlignment =-4108;//居中
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(1,8)).VerticalAlignment =-4108;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,8)).Font.Size=10;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,8)).Borders(3).Weight = 2; //设置左边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,8)).Borders(4).Weight = 2;//设置右边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,8)).Borders(1).Weight = 2;//设置顶边距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,8)).Borders(2).Weight = 2;//设置底边距
xlBook.SaveAs("C:\aaa8.xls")
xls.UserControl = false; //很重要,不能省略,不然会出问题 意思是excel交由用户控制
xls=null;
xlBook=null;
xlsheet=null;
}
</script>
</body>
</html>
数据都能导成功,就是到图片这 说是 xlsheet.Pictures.Insert(oTable.rows(i-1).cells(j-1).getElementsByTagName('img')[0].src);//插入图片
报错: Pictures.Insert 方法无效
各位帮帮忙啊 很头疼 谢了
相关推荐
js导出Excel 、Word [超实用][自动保存样式]
使用JAVASCRIPT导出页面里的任意一个Table里的内容到Word或Excel.而且还保留了Table在页面里的样式。
将HTML表格转换为Excel的JavaScript项目指南
HTML5引入了自定义数据属性(data attributes)的机制,允许开发者在标准的HTML元素上存储私有数据。这些数据属性以data-为前缀,后跟自定义的名称,可以附加到任何DOM元素上,而不影响文档的语义性。它们提供了一种标准的方法来存储额外的信息,这些信息可以被脚本用来实现交互功能,而不会破坏HTML的语义结构。例如,给一个div元素添加一个data-user属性:这段代码创建了一个div元素,并通过data-user属性存储了用户的用户名。
Blob.js&Export2Excel;.js
将table中的数据导出为excel文件,处理下也可以导出别的数据为excel文件。
html tabel导出excel,png,pdf(pdf未解决中文问题)
html tabel导出excel(支持中文),png,pdf(pdf未解决中文问题)
前端导出Excel插入图片[可运行源码]
本文介绍了如何在前端使用exceljs库实现导出Excel表格并插入图片的功能。文章首先提到xlsx.js无法满足需求,转而推荐使用exceljs库。核心内容包括:通过CDN引入exceljs库,将base64格式的图片转换为二进制数据,利用workbook.addImage和worksheet.addImage方法将图片插入到指定单元格位置,并设置图片的宽度和高度。最后通过workbook.xlsx.writeBuffer生成Excel文件并触发下载。文章提供了完整的HTML示例代码,展示了从图片处理到Excel导出的完整流程。


