(winForm)有谁用过:保存word文档到SQL数据库并且显示出来,(word文档的格式不许变) http://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前做过。你只要将数据压入客户端,同时指示浏览器处理的数据格式是msword就可以了。 是什么数据库不重要吧,我在Syabse做的,不知道是否对你有帮助private void menuItem1_Click(object sender, System.EventArgs e) { //this.axWebBrowser1_HandleDestroyed(sender,e); bytes = addFile(strFileName2); ds_ope_project.Clear(); ds_ope_project.Merge(op.Image_ds(b_id)); if(ds_ope_project.Tables["b_project"].Rows.Count>0) { ds_ope_project.Tables["b_project"].Rows[0]["project"] = bytes; ds_ope_project.Tables["b_project"].Rows[0]["pro_type"] = this.comboBox1.Text.ToString().Trim(); } else { DataRow myrow; myrow = ds_ope_project.Tables["b_project"].NewRow(); myrow["dept_id"] = ls_dept; myrow["b_id"] = b_id; myrow["user_id"] = this.textBox1.Text.ToString().Trim(); myrow["user_name"] = this.textBox2.Text.ToString().Trim(); myrow["project"] = bytes; myrow["pro_type"] = this.comboBox1.Text.ToString().Trim(); ds_ope_project.Tables["b_project"].Rows.Add(myrow); } DialogResult result; result = MessageBox.Show(op.Write_image(ds_ope_project)); }//函数 public string Write_image(System.Data.DataSet dataset) { string msg="供电方案提交成功"; try { string test = oleDbCommand42.CommandText; oleDbDataAdapter4.Update(dataset); } catch(Exception ee) { msg = "保存失败!原因:"+ee.Message+"??"; } return msg; } 显示:bytes = (byte[])ds_ope_project.b_project.Rows[0][4]; System.IO.File.Copy(strFileName1,strFileName2,true); FileStream fs = new FileStream(strFileName2, FileMode.OpenOrCreate, FileAccess.Write); System.Int32 i = bytes.Length; //aStream.Read(bytes, 0, bytes.Length); fs.Write(bytes, 0, bytes.Length); fs.Close(); if(strFileName2.Length != 0) { try { Object refmissing = System.Reflection.Missing.Value; oDocument = null; axWebBrowser.Navigate(strFileName2, ref refmissing , ref refmissing , ref refmissing , ref refmissing); } catch(Exception ee) { MessageBox.Show("发生错误 - " + ee.Message); } 那你可不可以把数据库里的数据再保存为doc文档啊。如果能做到,再调用进程对象启动它不就行了吗。 简单,你已字节流方式把*.doc文件保存到数据库,当用到的时候从数据库中读出,在创建成临时文件*.doc,然后用本地潜有office控件的网页打开就行了,当然要访问该网页的计算机上要装有office,文件决定不会改变. 读取时需要保存成*.doc临时文档,假设为"c:\my.doc",然后: Process myProcess = new Process(); myProcess.StartInfo.FileName = @"c:\my.doc"; myProcess.StartInfo.CreateNoWindow = true; myProcess.Start();======注意需要:using System.Diagnostics; 问个关于C#,IBatis连接到Sybase数据库的配置问题 大家好,我问个xml的 复选框的问题 日期格式 五一散分`` 很奇怪的日期问题,详情请看! 静态的对象有什么特性? 关于 异常 信息 的问题 下面的代码如何再继承一个类 求[华为编程开发规范与案例]doc版 请教!(在线等候)谢谢:) 如何将一个表转为excel表
private void menuItem1_Click(object sender, System.EventArgs e)
{
//this.axWebBrowser1_HandleDestroyed(sender,e);
bytes = addFile(strFileName2);
ds_ope_project.Clear();
ds_ope_project.Merge(op.Image_ds(b_id));
if(ds_ope_project.Tables["b_project"].Rows.Count>0)
{
ds_ope_project.Tables["b_project"].Rows[0]["project"] = bytes;
ds_ope_project.Tables["b_project"].Rows[0]["pro_type"] = this.comboBox1.Text.ToString().Trim();
}
else
{
DataRow myrow;
myrow = ds_ope_project.Tables["b_project"].NewRow();
myrow["dept_id"] = ls_dept;
myrow["b_id"] = b_id;
myrow["user_id"] = this.textBox1.Text.ToString().Trim();
myrow["user_name"] = this.textBox2.Text.ToString().Trim();
myrow["project"] = bytes;
myrow["pro_type"] = this.comboBox1.Text.ToString().Trim();
ds_ope_project.Tables["b_project"].Rows.Add(myrow);
}
DialogResult result;
result = MessageBox.Show(op.Write_image(ds_ope_project)); }
//函数 public string Write_image(System.Data.DataSet dataset)
{
string msg="供电方案提交成功";
try
{
string test = oleDbCommand42.CommandText;
oleDbDataAdapter4.Update(dataset); }
catch(Exception ee)
{
msg = "保存失败!原因:"+ee.Message+"??";
}
return msg; }
bytes = (byte[])ds_ope_project.b_project.Rows[0][4];
System.IO.File.Copy(strFileName1,strFileName2,true);
FileStream fs = new FileStream(strFileName2, FileMode.OpenOrCreate, FileAccess.Write);
System.Int32 i = bytes.Length; //aStream.Read(bytes, 0, bytes.Length);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
if(strFileName2.Length != 0)
{
try
{
Object refmissing = System.Reflection.Missing.Value;
oDocument = null;
axWebBrowser.Navigate(strFileName2, ref refmissing , ref refmissing , ref refmissing , ref refmissing); }
catch(Exception ee)
{
MessageBox.Show("发生错误 - " + ee.Message);
}
如果能做到,再调用进程对象启动它不就行了吗。
myProcess.StartInfo.FileName = @"c:\my.doc"; myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();======
注意需要:using System.Diagnostics;