关于读取excel图片的问题 先看一下这篇文章C#操作excel(读取excel里的图片并show在页面上) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要调用Excel内置的对象,将图片赋值到windows剪贴板,然后再从剪贴板把图片放到你要的任何地方,例如二进制文件。 图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。 图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。请问有示例代码吗? C#读取Excel中的图片private string exclePath = @"E:\111.xls";private int StartRow = 2; //读的起始行private void button1_Click(object sender, System.EventArgs e){ Excel.Application excel = new Excel.Application();//引用Excel对象 Excel.Workbook workbook = excel.Workbooks.Add(exclePath); excel.UserControl = true; System.Text.StringBuilder sb = new System.Text.StringBuilder(); excel.Visible = false; for (int i = 0; i < workbook.Worksheets.Count; i++)//循环取所有的Sheet. { Excel.Worksheet sheet = workbook.Worksheets.get_Item(i + 1) as Excel.Worksheet;//从1开始. for (int row = StartRow; row <= sheet.UsedRange.Rows.Count; row++) { //取单元格值; for (int col = 1; col <= sheet.UsedRange.Columns.Count; col++) { Excel.Range range =sheet.Cells[row, col] as Excel.Range; sb.Append("," + col.ToString() + ":" + range.Text); } sb.Append(System.Environment.NewLine); //取存图片; if(sheet.Shapes.Count > row - StartRow ) { Excel.Shape s = sheet.Shapes.Item(row - StartRow + 1) as Excel.Shape; s.CopyPicture(Appearance.Button, Excel.XlCopyPictureFormat.xlBitmap); //COPY到内存。 IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Bitmap)) { pictureBox1.Image = (Bitmap)iData.GetData(DataFormats.Bitmap); //从内存取值; pictureBox1.Image.Save(string.Format(@"D:\{0}.jpg", row)); //保存。 } else { pictureBox1.Image = null; } } } } workbook.Close(false,null,null); excel.Quit();}图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。请问有示例代码吗? 问个VS。NET 2003使用的问题 合并gridview 高手请进 iis不能浏览aspx文件 帮帮忙,修改一下"自动删除记录的语句" &&请问哪有即支持ASP.NET2.0又支持SQL2005的空间? 查询重复的问题 哪位高手看看啊 如何讓鼠標在規定時間(比如8:30)自動點擊一個Button asp.net到底给我们带来了什么? 调用word对象出错的问题,希望近来看看(高分求救) vs2012生成网站时,为什么不编译生成dll了。 最近用Nuget工具,总是提示不能被解析www.nuget.org,我ping也不通.设置里是https://www.nuget.org/api/v2/
图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。
图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。
请问有示例代码吗?
private int StartRow = 2; //读的起始行
private void button1_Click(object sender, System.EventArgs e)
{
Excel.Application excel = new Excel.Application();//引用Excel对象
Excel.Workbook workbook = excel.Workbooks.Add(exclePath);
excel.UserControl = true;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
excel.Visible = false;
for (int i = 0; i < workbook.Worksheets.Count; i++)//循环取所有的Sheet.
{
Excel.Worksheet sheet = workbook.Worksheets.get_Item(i + 1) as Excel.Worksheet;//从1开始.
for (int row = StartRow; row <= sheet.UsedRange.Rows.Count; row++)
{
//取单元格值;
for (int col = 1; col <= sheet.UsedRange.Columns.Count; col++)
{
Excel.Range range =sheet.Cells[row, col] as Excel.Range;
sb.Append("," + col.ToString() + ":" + range.Text);
}
sb.Append(System.Environment.NewLine);
//取存图片;
if(sheet.Shapes.Count > row - StartRow )
{
Excel.Shape s = sheet.Shapes.Item(row - StartRow + 1) as Excel.Shape;
s.CopyPicture(Appearance.Button, Excel.XlCopyPictureFormat.xlBitmap); //COPY到内存。
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Bitmap))
{
pictureBox1.Image = (Bitmap)iData.GetData(DataFormats.Bitmap); //从内存取值;
pictureBox1.Image.Save(string.Format(@"D:\{0}.jpg", row)); //保存。
}
else
{
pictureBox1.Image = null;
}
}
}
}
workbook.Close(false,null,null);
excel.Quit();
}图片在 Excel 中叫做 Shape,你应该遍历 Shapes 集合。
请问有示例代码吗?