c# excel print 打印 将所有列调整为一页
excel有时候列数比较多,行数也比较多,转换成xps文档的时候,一般是通过打印来实现。
由于打印的范围限制,所以会出现本来在一行的数据,由于列数比较多,溢出范围,被打印到两页了。
为解决这个问题,需要设置一下sheet的缩放。
1.测试缩放在excel程序中:
在excel程序中有打印设置,如图(默认是无缩放的):

设置缩放(将所有列调整为一页),如图:

经过测试,这样设置后的打印效果,同一行的数据打印后在同一页了。
2.c#代码实现:
代码实现的方式是设置WorkSheet的PageSetup.FitToPagesTall属性。
测试代码如下:
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Type tp = app.GetType();
Microsoft.Office.Interop.Excel.Workbooks workBook = app.Workbooks;
Type elType = workBook.GetType();
object objelName = sourceFile;
Microsoft.Office.Interop.Excel.Workbook ebook = (Microsoft.Office.Interop.Excel.Workbook)elType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, workBook, new Object[] { objelName, true, true });
Object missing = System.Reflection.Missing.Value;
for (int i = ; i < ebook.Worksheets.Count; i++)
{
Worksheet ws = ebook.Worksheets[i + ];
ws.PageSetup.Orientation = XlPageOrientation.xlPortrait;//页面方向竖向
ws.PageSetup.Zoom = false;
ws.PageSetup.FitToPagesWide = ;
ws.PageSetup.FitToPagesTall = false;
}
ebook.PrintOut(missing, missing, missing, missing, missing, true, missing, xpsFile);
tp.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, app, null);
workBook.Close();
app.Quit();
经验证,可行。
感谢每一位阅读此篇文章的人,希望可以帮到你。
c# excel print 打印 将所有列调整为一页的更多相关文章
- unity3d 下操作excel 与打印
原地址:http://www.colabug.com/thread-1146390-1-1.html 因项目需要,需在unity下实现写入excel.打印功能.因之前在winform里操作过excel ...
- linux下处理excel里copy的某列的字符串,去除行末空格并添加特殊字段
背景:从excel里copy出一列数据到txt,然后放到linux下处理,发现每一行末尾都是固定个数的空格,我想要在每行字符串末尾加固定字段并逗号隔开输出, 1.将特定字段取出,去掉每行末尾的不定个数 ...
- awk中打印连续多列,或者删除多列的技巧
问题:比如有一个文件是20列,你只要后面的18列,怎么打印. 方法:把第一列和第二列做空:用print打印 [wangjq@mgmt humandb]$ cat test 1 2 3 4 5 6 7 ...
- window.print() 打印页面部分内容的方法
用 JavaScript 实现页面数据的打印 : 主要是用到了一个 print() 函数 , 该函数将会打印整个 web 页面 body 内的所有 html 数据 ! 使用方法为 window.pri ...
- 用window.print()打印指定div里面的内容(转载的)
用window.print()打印指定div里面的内容 今天客户让添加个打印证照功能,直接用window.print()打印的是整个页面,而用以下方法就可以只打印证明了 <!--window.p ...
- 用window.print()打印指定div里面的内容
用window.print()打印指定div里面的内容 今天客户让添加个打印证照功能,直接用window.print()打印的是整个页面,而用以下方法就可以只打印证明了 <!--window.p ...
- Web window.print() 打印
web打印 window.print() 我只给出比较有效的,方便的打印方法,有些WEB打印是调用ActiveX控件的,这样就需要用户去修改自己IE浏览器的Internet选项里的安全里的Active ...
- 【原创】python中文编码问题深入分析(二):print打印中文异常及显示乱码问题分析与解决
在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我 ...
- 后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...
随机推荐
- 刨根问底:什么是yum源,yum的工作原理又是什么
1.刨根问底---什么是yum源?yum的工作原理? 说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的.yum源就相当是一个目录项,当我们使用yum机制安装 ...
- Git服务搭建及github使用教程
.pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...
- LuceneNet 实现快速大文件大数据查询
做过站内搜索的朋友应该对Lucene.Net不陌生,因为用普通的sql like查询肯定是不行的,太慢了. 首先说明的是--Lucene.Net只是一个全文检索开发包,不是一个成型的搜索引擎, 它的 ...
- 改进ban冒泡排序
设置一标志性变量pos,用于记录每趟排序中最后一次进行交换的位置.由于pos位置之后的记录均已交换到位,故在进行下一趟排序时只要扫描到pos位置即可. //改进后算法如下: function bubb ...
- timeit模块
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务.一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址 ...
- vuethink 在本地没问题,在服务器报错 , php5.6与php5.5之间的大坑
将环境换为php5.6即可
- 如何让phpmyadmin输入密码再进入
分类: wamp 对于很多不熟悉PHP环境安装的朋友来说,用集成环境可以更快的上手,更方便的搭建PHP的运行环境,但是,WAMP的集成环境仅仅是将底层基础工作做好了,有些个别关键的配置操作并没有集成到 ...
- asp.net -mvc框架复习(11)-基于三层架构与MVC实现完整的用户登录
一.先从M部分写起(Modles\DAL\BLL) 1.Modles 实体类:上次实体类已经搞定. 2.DAL 数据访问类类 (1)通用数据数据访问类: A: 先编写数据连接字符串,写到网站根目录W ...
- 关于VC++中virtual ~的含义
我知道virtual 的虚函数定义,~CMainFrame( )是析构函数,用来释放内存.C++的继承和派生内容.所有可以被用作基类的类一般都用虚析构函数当基类对象的指针或引用调用派生类对象时,如果基 ...
- @RequestMapping 相关 spring
* * @param request HttpServletRequest * @param delList 削除Idエスト * @return 削除結果 * @th ...