js导出Excel 的图片问题

zj_JavaBean 2011-12-17 12:09:31
<html xmlns:o="urn:schemas-microsoft-com:office:office"
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 方法无效

各位帮帮忙啊 很头疼 谢了
...全文
612 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧