急求C#窗体操作VSTO如何向word模板中的特定文本框添加图文信息
小弟,最近弄一个项目,要在Windows窗体应用程序中实现点击特定按钮,调用word模板,并在模板的文本框中添加相应的图文信息,最终生成.doc文件。请懂VSTO的大虾帮...
小弟,最近弄一个项目,要在Windows窗体应用程序中实现点击特定按钮,调用word模板,并在模板的文本框中添加相应的图文信息,最终生成.doc文件。请懂VSTO的大虾帮忙解答。
展开
2个回答
2013-05-12
展开全部
private void button1_Click(object sender, EventArgs e) { FileStream stream = null; SqlConnection conn = null; SqlCommand cmd = null; try { richTextBox1.SaveFile("temp.rtf"); stream = new FileStream("temp.rtf", FileMode.Open, FileAccess.Read); int size = Convert.ToInt32(stream.Length); Byte[] rtf = new Byte[size]; stream.Read(rtf, 0, size); conn = new SqlConnection("Data Source=d30 \\sqlexpress;Initial Catalog=Image;Integrated Security=True;"); conn.Open(); cmd = new SqlCommand("UPDATE pic SET picture=@Photo WHERE ID=1", conn); SqlParameter paramRTF = new SqlParameter("@Photo", SqlDbType.Image, rtf.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, rtf); cmd.Parameters.Add(paramRTF); int rowsUpdated = Convert.ToInt32(cmd.ExecuteNonQuery()); MessageBox.Show(String.Format("{0} rows updated", rowsUpdated)); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { if (stream != null) stream.Close(); if (cmd != null) cmd.Parameters.Clear(); if (conn != null) conn.Close(); } } private void button2_Click(object sender, EventArgs e) { richTextBox1.Clear(); SqlConnection cn = null; SqlCommand cmd = null; SqlDataReader reader = null; try { cn = new SqlConnection("Data Source=d30 \\sqlexpress;Initial Catalog=Image;Integrated Security=True;"); cn.Open(); cmd = new SqlCommand("SELECT picture FROM pic WHERE ID=1", cn); reader = cmd.ExecuteReader(); reader.Read(); if (reader.HasRows) { if (!reader.IsDBNull(0)) { Byte[] rtf = new Byte[Convert.ToInt32((reader.GetBytes(0, 0, null, 0, Int32.MaxValue)))]; long bytesReceived = reader.GetBytes(0, 0, rtf, 0, rtf.Length); ASCIIEncoding encoding = new ASCIIEncoding(); richTextBox1.Rtf = encoding.GetString(rtf, 0, Convert.ToInt32(bytesReceived)); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { if (reader != null) reader.Close(); if (cn != null) cn.Close(); } }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你使用PageOffice吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询