1.不废话、不用vip、不吸粉,只为单纯的传播技术。

2.开发环境:VS2019.

3.点击项目-->管理NuGet程序包.搜索框输入Spire.XLS,点击Payway.Spire点击安装,点击同意,安装成功.(该步骤已弃用,往下翻,看最新更新方法)

4.然后你就会在你的解决方案的引用下看见这个:

5.这三段代码必须要:

Spire.Xls.Workbook workbook = new Spire.Xls.Workbook();
        workbook.LoadFromFile(@"D:\Documents\test1.xlsx");
        Spire.Xls.Worksheet sheet = workbook.Worksheets[0];//根据你自己要修改的文件来.

6.插入空白行,然后复制你想要的单元格格式:

sheet.InsertRow(fillDataStartRow);//插入空白行

sheet.Range["A1"].Style = sheet.Range["B1"].Style;//复制单元格格式,这里表示把单元格A1的格式复制给A2.这样就不用我们自己去定义格式了,因为很多时候自己需要,Excel模板已经做好了,你只需要从后台把数据拿到,然后填充到Excel中即可.所以一般表格需要空一行作为格式的复制对象.如下图:

7. 填充数据:

sheet.Range["A1"].Value2 = dataTable.Rows[i][j];//dataTable是自己造的数据,这句代码就是向单元格A1填充数据.

8.最后别忘了保存文档,将内存中的数据写入到文件.

workbook.SaveToFile(@"D:\Documents\test12.xlsx");

9.加载刚刚生成的文档,再打印.

Workbook workbook = new Workbook();
            workbook.LoadFromFile(fileName);

//获取第一个Excel工作表
            Worksheet sheet = workbook.Worksheets[0];

//设置打印纸张大小
            sheet.PageSetup.PaperSize = PaperSizeType.PaperA4;

//设置打印方向(这是设置纸张的方向为横向)
            sheet.PageSetup.Orientation = PageOrientationType.Landscape;

//设置打印对话框属性
            PrintDialog dialog = new PrintDialog();
            dialog.AllowPrintToFile = true;
            dialog.AllowCurrentPage = true;
            dialog.AllowSomePages = true;
            //设置单面打印
            dialog.PrinterSettings.Duplex = Duplex.Simplex;

//设置打印份数
            dialog.PrinterSettings.Copies = 1;

//打印文档
            workbook.PrintDialog = dialog;
            PrintDocument pd = workbook.PrintDocument;

//这是设置打印文档的方向为横向(若为纵向打印则两步都需要改)
            pd.DefaultPageSettings.Landscape = true;
            PrintController printController = new StandardPrintController();
            pd.PrintController = printController;
            pd.Print();

10.至此,横向打印,不限纸张,不需要安装Office的打印完美解决.某些个看个技术文章还要vip的真的想吐.我始终认为技术的交流应该少些障碍.特别是人为的.现在一堆乱七八糟的下载真T么恶心.不用破解照样解决问题.

自己看看这PT,成啥样了:

无语至极...

2022-10-24更新:

现在可直接使用最新版(滑稽):

直接搜索Spire.XLS。如下图:

测试了一下,没有评估字样了。一般需求,免费版足矣,更多企业级需求还请联系官方购买正版。

测试代码,很少,拷过去改下xlsx文件路径就能打印成功。

using Spire.Xls;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"D:\test1.xlsx");

//获取第一个Excel工作表
            Worksheet sheet = workbook.Worksheets[0];

//设置打印纸张大小
            sheet.PageSetup.PaperSize = PaperSizeType.PaperA4;

//设置打印方向(这是设置纸张的方向为横向)
            sheet.PageSetup.Orientation = PageOrientationType.Landscape;

//设置打印对话框属性
            PrintDialog dialog = new PrintDialog();
            dialog.AllowPrintToFile = true;
            dialog.AllowCurrentPage = true;
            dialog.AllowSomePages = true;
            //设置单面打印
            dialog.PrinterSettings.Duplex = Duplex.Simplex;

//设置打印份数
            dialog.PrinterSettings.Copies = 1;

//打印文档
            workbook.PrintDialog = dialog;
            PrintDocument pd = workbook.PrintDocument;

//这是设置打印文档的方向为横向(若为纵向打印则两步都需要改)
            pd.DefaultPageSettings.Landscape = true;
            PrintController printController = new StandardPrintController();
            pd.PrintController = printController;
            pd.Print();

}
    }
}

原文件:

打印出来的文件:

完结,撒花!

C#编辑、打印Excel文件不依赖Office相关推荐

  1. 按文件名数值排序批量打印Excel文件

    起因   同事求助,工作中经常有一大批Excel表单需要打印,并且打印出来表单是有顺序要求,文件名已经排好了顺序,打印也要按这个顺序打.问我有没有什么快捷的办法. 初次尝试   刚开始没仔细想这个问题 ...

  2. Java打印Excel文件 Jacob打印Excel文件

    Java 利用jacob打印Excel文件 一.不指定打印机 直接利用默认的打印机进行打印.测试通过,环境:Win7+jdk1.7.0_79+jacob-1.14.3-x64 /*** 打印Excel ...

  3. C#在线打开编辑保存Excel文件[pageoffice]

    在项目开发过程中,经常会涉及到生成Excel报表,但往往系统只能通过后台生成Excel报表并保存到服务器上,若想在系统中打开Excel文件并进行编辑保存,有些人可能就没有思路了.因此,为了实现Exce ...

  4. python打印Excel文件方法

    '''打印方式一'''  使用系统打印接口 # import os # file= '文件' # os.startfile(file,'print') '''打印方式二'''  使用第三方软件包 xl ...

  5. vue中用xlsx、xlsx-style、file-saver插件实现用表格原始数据打印excel文件

    打印出的excel文件如下:  1.需要安装插件(xlsx插件使用后已经有换行功能,如果对导出的excel文件没有样式要求就不用下载xlsx-style插件) npm i -S xlsx npm i ...

  6. Excel文件打开后不能编辑,可以这样处理

    打开Excel文件,却发现数据无法修改,其实是编辑的Excel文件受到了限制. 设置了工作表保护,还体现在不能负责粘贴Excel文件内容,不能打印Excel文件等. 平时除了我们给自己的Excel文件 ...

  7. excel文件不能编辑怎么回事?

    excel文件打开的时候没有要求输入密码,但是却不能编辑excel文件是怎么回事? excel文件打开的时候没有提示输入密码,这只能证明文件并没有设置打开密码,并不能证明excel文件没有被加密,因为 ...

  8. Excel文件的编辑限制密码,如何撤销?

    遇到了很重要的excel文件,对文件进行加密是一个有效的保护方法.如果有些表格可以让他人查看,但是担心他人对表格进行操作,我们可以使用excel中的保护工作表的功能对表格进行加密.和大家分享如何对ex ...

  9. 如何删除写保护的文件_如何找回已删除或永久删除的Office Excel文件

    恢复删除Excel文件概述 Microsoft Office Excel是微软(Microsoft)为Windows及macOS所设计的试算表软件.它的计算.绘图工具.枢纽分析表和一个称作VBA(Vi ...

最新文章

  1. mysql报错 Incorrect table definition;there can be only one auto column and it must be defined as a key
  2. 好大一盘棋:谷歌光纤再下一城
  3. JAVA是如何传递参数的?是传值(by value)?还是传地址(by reference)?
  4. 面试时经常问到的系统应用优化问题总结
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 19丨最后一个能进入电梯的人【难度中等】​
  6. 11选5下期算法_双色球 133期预测 132中奖5+1
  7. 通货膨胀时是否提前还本付息--郎咸平
  8. 引导linux的工具下载,多系统引导工具(BootThink)下载_多系统引导工具(BootThink)官方下载-太平洋下载中心...
  9. 你能理解、不能理解和不需要理解的量子计算
  10. Kafka-partition
  11. 叶子的离开,是因为风的追求,还是树的不挽留
  12. echarts改变颜色属性的demo
  13. Spring源码之FactoryBean接口的作用和实现原理
  14. AJAX培训第一讲:AJAX基础
  15. 易车网靠谱吗,蛋蛋告诉你
  16. DSI3协议理论基础讲解
  17. uniapp如何使用uview中的loadmore上拉加载
  18. linux下查看硬盘型号、大小等信息
  19. 用Python爬取微信好友,原来他们是这样的人......
  20. python复利计算_python:复利计算

热门文章

  1. FTP服务器和NFS服务器
  2. C++中const关键字用法详解及实例和源码下载(一)
  3. ❤️导图整理数组4: 三数之和 相比于 两数之和 的难点, 力扣15❤️
  4. Perl CGI简介
  5. DCB工作机制解析二(ETS,DCBX)
  6. EAS BOS 报表开发
  7. python爬虫爬取豆瓣top排行图片
  8. EcmaScript 6 - 块级作用域(block scope)
  9. MyEclipse如何复制项目、无法修改web-context-root问题解决办法/ Repeated column in mapping for entity
  10. 【git】基本命令和本地操作