关于word里插入图片急!!!!!!!!! ( 积分: 200 )

  • 主题发起人 主题发起人 天外来客
  • 开始时间 开始时间

天外来客

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么在C#里给word模板里插入一个图片呢,目前能插入数据,图片存放在数据库是byte二进制格式,还有其大小格式,怎么样才能把这些内容插入到word模板里面,请各位高手给予帮助摆脱谢谢!
 
怎么在C#里给word模板里插入一个图片呢,目前能插入数据,图片存放在数据库是byte二进制格式,还有其大小格式,怎么样才能把这些内容插入到word模板里面,请各位高手给予帮助摆脱谢谢!
 
C#的還是到www.chinaaspx.com裡去問吧,這裡大都不太懂,比如我,呵
 
不清楚,帮顶一下!
 
可以考虑一下剪切板
 
呵呵,高手在这,可惜分数太少
 
WORDDOC(先建好的WORDDOCUMENT,建法不说了在这查原来的贴)
WORDDOC.RANGE.INLINESHAPES.ADDPICTUREBULLET(PATH,WORDDOC.WORDS.LAST)
 
想调用word的功能,帮助很难找。
要完成你的功能,可一在WORD中,用录制“宏”的办法,
即:录完了“宏”,再查看其代码,就会得到 相应的对象及其所调用的方法。

以下是宏中的VBA代码,可以很简单的转化为c#代码。
---------------

Selection.InlineShapes.AddPicture FileName:= _
"C:/Documents and Settings/k/Mydo
cuments/My Pictures/样品.jpg", LinkToFile _
:=False, SaveWithDocument:=True
 
xewei这为兄台分不成问题只要你解决了这个问题分大大的有
 
#region 在WORD表格插入图片
private void AddPicture(Word.Document wdc,System.Data.DataRow myRow)
{
object missing = System.Reflection.Missing.Value;
string strTemp = Application.StartupPath+"//temp.gif";
byte[] MyData= new byte[0];

try
{
if(myRow["picture1"]!=null)
MyData = (byte[])myRow["picture1"];
else
return;

int ArraySize = new int();

ArraySize = MyData.GetUpperBound(0);

System.IO.FileStream fs = new System.IO.FileStream(strTemp, FileMode.OpenOrCreate, FileAccess.Write);
try
{
fs.Write(MyData, 0,ArraySize);
fs.Close();

}
catch(System.Exception e1)
{
rhtxtError.Text += "["+currContent+"]"+"WORD表格插入图片: "+e1.Message+"/n";
}
finally
{
fs = null;
MyData = null;
}

Thread.Sleep(500);
wdc.Application.Selection.InlineShapes.AddPicture(strTemp,ref missing,ref missing,ref missing);
}
catch
{
}
}
#endregion
 
上面的过程就是从数据库取出图片存为文件,再将文件插入word,至于大小,要求不高一般没问题。
想必这位兄弟也在做word编程,我目前这个项目就是这样,自动产生word文挡技术实现基本结束,以后可以多交流。
 
楼上的那位兄弟,我的方法不好说,不要保存成文件,直接从数据库取出来的二进制的图片还有起大小和格式,目前的函数只能插入文字,那个比较复杂,我给你留个联系方式,我的QQ:67092066,请多多交流和指教。
 
楼上这位兄弟方法不错,可惜这个是只是普通的一般程序方法,我现在是在一个基类里面实现这个方法直接读去二进制然后存入文件在插入具体方法如下:
1.把图片重新导出为文件,将路径存为filename;
2. myword=new word.applicationclass();
wd=new word.documentclass();
Word.Range rng=wd.Paragraphs.Item(pose).Range;
rng.Select();
//变量定义
Object op1=Missing.Value ;
Object op2=(Object )false;
Object op3=(Object )true;
//插入图片的函数
myword.Selection.InlineShapes.AddPicture(filename,ref op2,ref op3,ref
op1);
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部