求:在B/S下将Excel中的图片导出另存为图片文件

szldk 2009-02-26 02:50:28
如题:
在C/S下已经初步解决此问题,
但在B/S下却卡了,请高手不吝赐教,
...全文
304 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shizhusz110 2009-03-07
  • 打赏
  • 举报
回复
估计是你OPen和save问题!应该加Server.MapPath,而你的c/s结构你能直接操作本地!远程是网络!而b/s不一样!
szldk 2009-03-07
  • 打赏
  • 举报
回复
顶起来
cnidb 2009-03-07
  • 打赏
  • 举报
回复
B/S是运行在服务端的,取不到客户端的剪贴板;

一、先上传Excel文件到服务器,取到上传后的物理路径;
二、再用你的代码生成图片到服务器本地,取到图片的URL。
三、弹出下载窗口将图片下载回来。
szldk 2009-03-06
  • 打赏
  • 举报
回复
帮顶有分
szldk 2009-03-04
  • 打赏
  • 举报
回复
代码摘要如下:
Object o = Type.Missing;
Microsoft.Office.Interop.Excel.Application objExcelApp = new Microsoft.Office.Interop.Excel.Application();
objExcelApp.DisplayAlerts = false;
objExcelApp.Visible = false;
Workbook objWorkbook = objExcelApp.Workbooks.Open("E:\\Book1.xls", o, o, o, o, o, o, o, o, o, o, o, o, o, o);
Worksheet objWorksheet = (Worksheet)objWorkbook.ActiveSheet;
Shapes objShapes = objWorksheet.Shapes;
int shapesCount = objShapes.Count;
PictureBox objPictureBox = new PictureBox();
Range objRange;
for (int i = 1; i < shapesCount; i++)
{
objShapes.Item(i).CopyPicture(Appearance.Button, XlCopyPictureFormat.xlBitmap);
IDataObject objIDO = (IDataObject)Clipboard.GetDataObject();
if (objIDO.GetDataPresent(DataFormats.Bitmap))
{
objPictureBox.Image = (Bitmap)objIDO.GetData(DataFormats.Bitmap);
objPictureBox.Image.Save("E:\\" + i+ ".jpg");
}
else
{
objPictureBox.Image = null;
}
}
objExcelApp.Quit();
objExcelApp = null;
zxdouzx 2009-03-03
  • 打赏
  • 举报
回复
你要 把代码整出来啊。。。
szldk 2009-02-26
  • 打赏
  • 举报
回复
出现问题的代码块是这样的:
.....
Shape.CopyPicture(参数);//将图片复制到剪贴板
IDataObject iData=Clipboard.GetDataObject();//从剪贴板获取过来
.....
这两行代码在C/S下能正常执行实现,但在B/S下就不行了,获取不到,iData为NULL

专就剪贴问题的贴:
http://topic.csdn.net/u/20090226/11/7f72fb81-8e37-4f87-a5ec-dd1a16574242.html
szldk 2009-02-26
  • 打赏
  • 举报
回复
自己顶
szldk 2009-02-26
  • 打赏
  • 举报
回复
没人做过类似的吗?
哪怕给点建议也行啊;
没建议帮顶下也行啊;
谢谢大家了;

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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