100分求把winform里的内容保存成word文档 或者 直接实现 打印与预览。
求把winform里的内容保存成word文档 或者 直接实现 打印与预览。
小弟是自学的C#语言,高人贴的代码可能不怎么会看得懂,希望各位高人能直接把 小弟的 控件名称 加进你的代码里,我直接复制代码到VS里就能使用最好了 谢谢各位大神先。。
我的控件名称如下:
title.text
print1.text
print2.text
print3.text
print4.text
print5.text
print6.text
print7.text
print8.text
两个img控件 pic1 pic2
小弟是自学的C#语言,高人贴的代码可能不怎么会看得懂,希望各位高人能直接把 小弟的 控件名称 加进你的代码里,我直接复制代码到VS里就能使用最好了 谢谢各位大神先。。
保存成word 和 打印出来的效果 要像我图片里 排列好的 格式 一样哦,真的谢谢各位大神。。 --------------------编程问答-------------------- http://cpbcw.com/download/327.html --------------------编程问答-------------------- 小弟是自学的C#语言,高人贴的代码可能不怎么会看得懂,希望各位高人能直接把 小弟的 控件名称 加进你的代码里,我直接复制代码到VS里就能使用最好了 谢谢各位大神先。。
保存成word 和 打印出来的效果 要像我图片里 排列好的 格式 一样哦,真的谢谢各位大神。。 --------------------编程问答-------------------- 你用它,一切都輕鬆
http://www.e-iceblue.com/Download/download-office-for-net-now.html --------------------编程问答-------------------- NPOI 可以一试 --------------------编程问答-------------------- 从知道csdn以来
还没敢这么问过问题。。。 --------------------编程问答-------------------- 收费的啊 还全英文 = = --------------------编程问答-------------------- help me~~~~~~~~~~~ --------------------编程问答-------------------- http://www.cnblogs.com/kokoliu/archive/2007/09/02/879104.html
里面有你所需要的各种方法,包括对word的提取和保存, --------------------编程问答-------------------- Control.SaveToImage
好像又这样的一个函数 --------------------编程问答-------------------- 要保存成word 你要自己创建 然后 自己排版的 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 求高人 好心好心帮帮我吧 不然我要疯了呢 --------------------编程问答--------------------
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 首先读取word文档//这个在网上有很多源代码和demo
// 工具箱中拖一个printPreviewDialog,一个printDocument
private void 预览button_Click(object sender, EventArgs e)
{
this.printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.PrintPreviewControl.Zoom = 1;
printPreviewDialog1.Width = 850;
printPreviewDialog1.Height = 551;
this.printPreviewDialog1.ShowDialog();
}
private void 打印button_Click(object sender, EventArgs e)
{
printDocument1.Print();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
printDocument1.DocumentName = "打印";
StringFormat StringF = new StringFormat();
StringF.Alignment = StringAlignment.Near;
Font Myfont = new Font("宋体", 9);
Pen mypen = new Pen(Color.Black, 4);
string fjxx = print1.Text.Trim();
RectangleF drawRect = new RectangleF(30, 102, 150, 60);
//e.Graphics.DrawRectangle(Pens.Black, x, j, w, h);
e.Graphics.DrawString(fjxx, Myfont, mypen.Brush, drawRect, StringF);
............
Image newImage = pic1.Image;
int x = 100;
int y = 100;
e.Graphics.DrawImage(newImage, x, y);
......................
然后预览那么是用数据容器 比如datagridview //你读取word的时候 把读取的数据放入datatable中 然后 datagridview.DataSource=datatable; --------------------编程问答-------------------- 还是14楼的大神 能理解小弟啊,我看到我使用的 控件名称了,比较能懂你的代码,我先试试。。谢谢啊 --------------------编程问答-------------------- 14楼的办法可行? --------------------编程问答-------------------- 先创建一个样式WORD模板,然后在模板加入标签,在写代码把相应的内容填进标签就ok了啊 --------------------编程问答-------------------- 打印
http://blog.csdn.net/happy09li/article/details/6931959 --------------------编程问答-------------------- 还是不要出来混的好。 --------------------编程问答-------------------- 14楼的办法试了 打印预览 什么都看不见啊??? --------------------编程问答-------------------- 基础太差,还是先回去看书学习,谁都有没有空帮你把所有代码写出和帮你调试。 --------------------编程问答-------------------- --------------------编程问答-------------------- 求详细代码 我自己改 T_T --------------------编程问答-------------------- 需要用到一个dll 加载之后 就可以用C# 操作office 了 毕竟是一家的东西 好搞些
贴一些片段给你看看
Microsoft.Office.Interop.Word.Table newTable = wordDoc.Tables.Add(wordApp.Selection.Range, 1, 9, ref Nothing, ref Nothing);--------------------编程问答-------------------- 最后要回收垃圾 关闭一切 否则在进程里会有 个未关闭的进程 --------------------编程问答-------------------- --------------------编程问答-------------------- http://www.cpbcw.com/download/325.html 直接打印示例 --------------------编程问答-------------------- 打印整个控件就行了啥。像DataPrinter打印控件,还是不错的 --------------------编程问答--------------------
//合并单元格
newTable.Cell(1, 1).Range.Text = "序号";
newTable.Cell(1, 2).Range.Text = "产品名称";
newTable.Cell(1, 3).Range.Text = "规格型号";
newTable.Cell(1, 4).Range.Text = "使用人";
newTable.Cell(1, 5).Range.Text = "计量单位";
newTable.Cell(1, 6).Range.Text = "请购数量";
newTable.Cell(1, 7).Range.Text = "实收数量";
newTable.Cell(1, 8).Range.Text = "单价";
newTable.Cell(1, 9).Range.Text = "编号";
//填充 已有的一个人的数据
int rowIndex = 2;
for (int j = 0; j < count; j++)
{
if (alneme[i].ToString() == gridView[5, j].Value.ToString())
{
wordDoc.Content.Tables[i+1].Rows.Add(ref Nothing);
newTable.Rows[rowIndex].Cells[1].Range.Text = "" + (j + 1); //序号
newTable.Rows[rowIndex].Cells[2].Range.Text = gridView[1, j].Value.ToString(); //名称
newTable.Rows[rowIndex].Cells[3].Range.Text = gridView[8, j].Value.ToString(); //型号
newTable.Rows[rowIndex].Cells[4].Range.Text = alneme[i].ToString(); //使用人
newTable.Rows[rowIndex].Cells[5].Range.Text = gridView[2, j].Value.ToString(); //计量单位
newTable.Rows[rowIndex].Cells[6].Range.Text = "1"; //请购数量
newTable.Rows[rowIndex].Cells[7].Range.Text = "1"; //实够数量
newTable.Rows[rowIndex].Cells[8].Range.Text = gridView[7, j].Value.ToString(); //单价
newTable.Rows[rowIndex].Cells[9].Range.Text = gridView[0, j].Value.ToString(); //编号
rowIndex++;
}
}
要要的话,我发给你。留下联系方式
补充:.NET技术 , C#