浅谈C#制作Execl报表的一些操作
自己在某公司做了两个月如标题所示的工作,不过是开发公司的ERP系统,然后在界面上打印Excel就可以生成一张表,做的过程中遇到很多问题。虽然有些可以使用VBA搞定,但是有些复杂的VBA无能为力,所以这时百度,但是遗憾百度不到,可能是做这方面的人有点少,毕竟C#是不打主流的开发语言。下面就写写我自己一点点经验:
0、准备工作
在VS2010单元菜单“项目”——“添加引用”——“浏览”找到你计算机安装的Excel.exe程序点确定就可。
1、打开Excel和关闭Excel
添加 using Microsoft.Office.Interop.Excel;
我就不多说,百度都有,但是写法没有太大不同,都可以尝试地玩一下。
2、表格基本设置
在VBA都可以容易转换成C#语言,很简单的。
3、图片处理
是个不好解决的货!
3.1、插入图片
Shape picture = worksheet.Shapes.AddPicture("图片路径,遇到‘\’符号再加一个‘\’符号",Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,45,50,10,20);
//45,50,10,20分别表示离左边距离45,顶部距离50,图片宽度10,高度20;
3.2、图片背景透明
有些公司章或者logo需要背景透明。
Color co = Color.FromArgb(255, 255, 255);//添加using System.Drawing;(红,绿,蓝三色)
int c = co.ToArgb();//转将颜色换成数值
cture.PictureFormat.TransparencyColor = c;
4、其他图形
有了上述例子,其他插入圆角矩形,直线,文本框都是如此,利用Shape。
5、文本框部分字体格式设置
有些标题某几个字体不一样,当然可以添加多个文本框,但是会很难看,因为对不齐,所以需要选中文本框内那几个文字单独设置。
word.TextFrame.Characters(0, 11).Font.Size = 10;//表示从0开始长度为11的几个字体大小为10
当然你需要有文本框存在。
6、插入复选框等表格控件
这个很常见在表格中。但是用C#实现有点困难,我也是结合网上和VBA瞎玩刚好实现了。
Microsoft.Office.Interop.Excel.CheckBox checkbox1=worksheet.Application.ActiveSheet.CheckBoxes.Add(200,230,50,20);
//定义checkbox1,依次为(左距离,顶距离,框宽,框高)
checkbox1.Text = "客户";
box1.Value = true;//打钩,如果False表示方框就是空的;
总结
以上就是一点小经验了,亲测有效的。如果您在做这方面的工作,或许我这个能帮到您,当然您方法更先进,我还需要向您学习。还有一些我没写出来,如果您有问题,我们可以一起探讨。谢谢您的阅读!