C#操作excel的打印分页符问题
最近在帮公司winfrom项目组开发一个打印单据的功能,由于之前没有操作过excel(个人技术比较菜。。。),所以在开发过程中遇到了一些应该比较简单的(但我不会)问题。
需求是打印出库单数据,出库单是以excel为模板打印出来,不过需要设定每页分固定的多少条数据,因为太多的话一张单据放不下,可以打印多张单据
我的做法:是将数据导出到excel模板中,首先做好excel模板,只不过把固定的表头设定好就行(当然也可以用code直接写进去,那只需要一个空模板就好了,我这里可以直接在模板上设定好,没有影响)。为了不影响打印效果,使用打印分页符来处理该问题,
1、首先选择微软自带的API:Microsoft.Office.Interop.Excel.Application,实例化一个对象:Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
2、加载模板Microsoft.Office.Interop.Excel.Workbook wb=excel.Workbooks.Open(“文件绝对路径”);
3、我的模板放在了excel的第一个sheet里,所以var sheet = wb.Worksheets[1];
4、这样模板就可以加载好了,下面就是讲数据填充进去就可以了,当然可以根据需求对应添加,这里只举个例子:sheet.Cells[i, j] = “111”;//将数据添加到sheet的第i行j列
重点来了:将数据加载完后,接下来就需要分页处理了
5、在需要分页的地方:sheet.HPageBreaks.Add(sheet.Range["A12"]);//假如在sheet的第13行开始分页,因为该方法会在指定单元格上方插入分页,即在第12行单元格上方添加分页符。(横向分页符)
sheet.VPageBreaks.Add(sheet.Range["F1"]); //在F列单元格的左侧添加分页符 (纵向分页符)
6、然后覆盖所有数据设置打印区域:sheet.PageSetup.PrintArea = "A1:X20";//只打印sheet的A1-X20的区域(矩形区域)
7、保存 :wb.SaveAs(savePath);//SaveAs()方法的参数挺多的,可以查看官方文档传递需要的参数,有如果文件存在则会提示是否覆盖已保存的文件,但是我在做的时候如果已存在的文件处于打开状态就会报错了,我解决的办法是:try...catch{}异常,
判断异常然后给用户一个弹窗提示,检查是否有同名同类型的文件打开。
其他功能还有比如设置分页预览模式查看效果:sheet.ViewMode = ViewMode.Preview;
当然还有很多功能,如果需要可以查询API文档学习,这里就不赘述了。
转载于:https://www.cnblogs.com/qyxfirstblog/p/10077260.html
C#操作excel的打印分页符问题相关推荐
- C#操作Excel,打印分页设置
使用excelHelper可以直接对excel进行单sheet多分页的导出.但是却不知道模板的打印区域,因此需要根据数据多少来动态设置打印区域,代码如下: excelApp.ActiveSheet.P ...
- 删除excel中的分页符
http://blog.5d.cn/user4/moil/200609/306416.html 无法删除excel中的分页符 解决如下 添加.删除或移动分页符 在"视图"菜单上,单 ...
- html如何设置打印分页打印出来,网页中如何用 CSS 设置打印分页符
Word 中按 Ctrl + Enter 创建一个分页符,方便打印,其实网页中也可以,用 CSS 的 page-break-after:always;. 第 1 页 第 2 页 第 3 页 任何浏览器 ...
- python操作Excel设置打印标题时碰到的一个小问题
最近在学习python操作Excel,在网上找到一段代码,将几个工作表合并成一个工作簿的多个工作表,实现以下效果: 首先,将要合并的工作表名存储在列表中,使用for循环写入Excel中 # 将要导入的 ...
- html 页面打印 分页符,html - 浮动的HTML / CSS打印分页符不起作用(例如:引导程序) - 堆栈内存溢出...
首先,分页符不能在绝对定位的元素中使用,因此请确保分页符不在一个元素中. 现在,由于浮动导致分页符被忽略,因此我们需要清除浮动. 问题很clear: both; 如果带有page-break-afte ...
- html仿excel冻结 css,excel的人工分页设置可实现
42Excel具有人工分页的功能,它可以______ 1水平方 打开excel表格,在单元格中输入一些数据,下图中可以看到此时excel表格是普通的显示模式. 在页面上方的工具栏中点击"视图 ...
- linux百万行数据加分页符,百万级数据量报表全量导出
java中使用poi导出Excel详解java当初把核心处理设成Unicode,带来的好处是代码适应了多语言环境.然而由于老外的英语只有26个字母,有些情况下,一些程序员用8 位的byte处理,一不小 ...
- Word中分隔符 分页符 分栏符 换行符 分节符的用法
在写论文时,论文格式要求目录需要用"Ⅰ.Ⅱ.Ⅲ.-"作为页码,正文要用"1.2.3.-"作为页码.而有的用户此时就要将目录存为一个单独的文件,再设置不同的页码格 ...
- 打印5列五颗星_13个Excel快捷打印技巧,让你熟练掌握打印机操作
对于许多朋友来说,用Excel打印文件仍然是一个头条的问题,文件如何在表格中进行打印设置许多朋友还是比较陌生.今天我们就通过13个打印小技巧,让大家了解一下打印机的常规操作. 1.打印居中显示 更改居 ...
- 计算机如何分页打印,[计算机]Excel表格如何分页打印、自动分页、取消分页等技巧.doc...
[计算机]Excel表格如何分页打印.自动分页.取消分页等技巧.doc 上传人:max****ui 文档编号:13468786 上传时间:2019-01-18 格式:DOC 页数:5 大小:334.1 ...
最新文章
- 连接sftp服务器命令
- C#实现窗口最小化到系统托盘
- binding.filter(filter) will trigger OData request to backend
- 2017西安交大ACM小学期数据结构 [树状数组]
- 代理模式用来初始化的延迟下载
- 【ZOJ - 4020 】Traffic Light (bfs,分层图)
- ArrayList add方法深度解析。
- 设计模式之原型模式(Prototype)
- sql插入数据时自动插入时间
- mysql数据库技术与应用实训项目_MySQL数据库项目实训
- 淘宝网用什么样的服务器
- Java单例模式实现方式
- 2.2.7 虚拟Ethernet以太网卡
- ubuntu18.04系统无法正常连接网络解决办法
- 学术会议墙报_第十三届全国振动理论及应用学术会议顺利召开
- mysql dparser.dll_dparser.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
- 单片机自动售货机c语言,单片机自动售货机源代码
- ArcGIS使用字体文件制作符号库!
- c语言根据月份判断季节指针,输入年份和月份,判断是否闰年?并根据月份判断是什么季节和有多少天...
- 十分钟带你入门Chrome插件开发