当前位置: 首页 > news >正文

Spire.xls+excel文件实现单据打印

报表和单据打印,通常都是使用fastreport之类的,因为有了现成的xls模板样式,如果转成fastreport那还需要花时间,是用spire.xls这个玩意简单,超好用。

一.引用
using Spire.Xls;

二.基本的操作
// 创建工作簿,读写,保存,保存
        private void save_Click(object sender, EventArgs e)
        {
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(Application.StartupPath + "\\sample.xlsx");
            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];
            // 读取数据
            string value1 = sheet.Range["A1"].Value.ToString();
            string value2 = sheet.Range["B1"].Value.ToString();
            // 写入数据
            sheet.Range["A1"].Value = "Hello";  //方式一
            sheet.Range[2,2].Value = "World";   //方式二
            //保存文件
            workbook.SaveToFile("c:\\example.xlsx", ExcelVersion.Version2013);

        }
三.打印
使用对话框模式输出,不知道原因是什么,怎么选择打印机都是从默认打印机输出。
                myxls.LoadFromFile(Application.StartupPath + "\\sample.xlsx");
                sheet = myxls.Worksheets[0];
                sheet.PageSetup.PrintArea = "A1:H20";
                PrintDialog dialog = new PrintDialog();
                dialog.PrinterSettings.PrintRange = System.Drawing.Printing.PrintRange.SomePages;
                dialog.PrinterSettings.FromPage = 0;
                dialog.AllowPrintToFile = true;
                dialog.AllowCurrentPage = true;
                dialog.AllowSomePages = true;
                myxls.PrintDialog = dialog;
                myxls.PrintDocument.PrinterSettings.Copies = 1;
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    myxls.PrintDocument.Print();
                }

找不出原因,归结为可能是免费版本限制功能的原因。也不深究,换一个方式,在页面上增加了一个下拉框,窗体加载时将打印机列出来供选择。
      using System.Drawing.Printing;
       foreach (var item in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
                {
                this.con_printer.Items.Add(item);
                }
            this.con_printer.Text= new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;//默认打印机

调用打印的时候,直接指定打印机名称,曲线救国成功。
                myxls.PrintDocument.PrintController = new StandardPrintController();
                PrinterSettings settings = myxls.PrintDocument.PrinterSettings;
                settings.PrinterName = this.con_printer.Text;
                settings.Duplex = Duplex.Simplex;
                settings.FromPage = 1;
                settings.ToPage = 1;
                myxls.PrintDocument.Print();

四.插入图片
需要在打印页面插入二维码, 这个先用zxing产生图片,在指定位置插入图片
                ExcelPicture mypic = sheet.Pictures.Add(1, 12, Generate3(barcode, 300, 300)); //在第1行12列插入
                mypic.Width = 90;
                mypic.Height = 90;
                mypic.LeftColumnOffset = 75;
                mypic.TopRowOffset = 20;

丝滑。
 

相关文章:

Spire.xls+excel文件实现单据打印

报表和单据打印,通常都是使用fastreport之类的,因为有了现成的xls模板样式,如果转成fastreport那还需要花时间,是用spire.xls这个玩意简单,超好用。 一.引用 using Spire.Xls; 二.基本的操作 // 创建工作簿&#xff…...

win10系统配置vmware网络NAT模式

1,查看win10 IP地址:ipconfig 2, vmware设置:编辑>>虚拟网络编辑器>>点击添加网络(选择NAT模式) 3,虚拟机网络设置:点击VMware虚拟机>>设置>>网络适配器 4&#xff…...

什么是数据中台,关于数据中台的6问6答6方法

在大数据/数字孪生时代,数据中台已经成为企业治理数据的核心平台。数据中台不仅处理和整合大量数据,还负责数据的存储、管理和保护工作,确保数据的准确性和可用性。数据中台的特点在于其能够提高业务效率,降低成本,增加…...

什么是机器学习中的目标函数和优化算法,列举几种常见的优化算法

1、什么是机器学习中的目标函数和优化算法,列举几种常见的优化算法。 在机器学习中,目标函数和优化算法是两个核心概念。目标函数用于描述模型预测结果与实际结果之间的差距,而优化算法则用于最小化目标函数,从而得到最优的模型参…...

Edge被2345浏览器劫持 解决方法

Edge 被 hao123 劫持解决方法_edge被hao123锁定改不了_小子宝丁的博客-CSDN博客...

uni-app:重置表单数据

效果 代码 <template><form><input type"text" v-model"inputValue" placeholder"请输入信息"/><input type"text" v-model"inputValue1" placeholder"请输入信息"/><input type&quo…...

全球城市汇总【最新】

文章目录 案例图国家城市大洲 数据获取政策&#xff1a; 全球城市、国家、介绍汇总。包含 .csv .sql .xml 格式数据。 案例图 国家 城市 大洲 数据 获取上图资源绑定 https://blog.csdn.net/qq_40374604/category_12435042.html 获取政策&#xff1a; 如找不到在合集中查找…...

Java jvm 内存溢出分析

1.如何分析jvm内存溢出呢 我们经常用visualVm监控Jvm的内存&#xff0c;cpu&#xff0c;线程的使用情况&#xff0c;通常可以根据内存不断增长来判断内存是否存在不释放。但是我们不可能时时盯着去看&#xff0c;这里涉及jvm堆内存配置&#xff0c;堆内存参数配置和调优会在其…...

Qt CMake 中国象棋程序实现

前驱课程 C自学精简实践教程 目录(必读) C数据结构与算法实现&#xff08;目录&#xff09; Qt 入门实战教程&#xff08;目录&#xff09; 项目初衷 为学习 Qt 的人提供一个合适的有一定难度的综合型练习项目。 在学会写代码之前&#xff0c;先看别人怎么写的代码。深入…...

ArcGIS 10.3安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…...

Kafka的文件存储与稀疏索引机制

![在这里插入图片描述](https://img-blog.csdnimg.cn/dde7fc866d214985baaa87300a472578.png)这些是存储在分区(分区才是实际的存储)文件中的. seg是逻辑概念 而实际由log存储的. index是偏移量索引而timeindex是时间戳索引 log就是seg 找数据就是先找log 再从log去找...

windowsxp下的mysql集群技术

1、准备工作 a、系统环境为&#xff1a;Windows Xp系统 b、mysql版本为&#xff1a;MySQL Server 5.5 c、mysql cluster版本为&#xff1a;mysql-cluster-gpl-noinstall-7.1.10-win32.zip d、计算机3台 Node IP Address Management (MGMD) node 192.168.18.8 MySQL server (SQL…...

微信小程序开发---小程序的页面配置

目录 一、小程序页面配置的作用 二、页面配置和全局配置的关系 三、页面配置中常用的配置项 一、小程序页面配置的作用 在每个小程序中&#xff0c;每个页面都有自己的.json配置文件&#xff0c;用来对当前页面的窗口外观&#xff0c;页面效果进行配置。 二、页面配置和全局…...

2023数学建模国赛B题完整论文来啦!(含一二问求解代码及三四问仿真模拟代码)

大家好呀&#xff0c;从昨天发布赛题一直到现在&#xff0c;总算完成了全国大学生数学建模竞赛B题完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 说实话团队通宵一直到现在做…...

ERROR: your rosdep installation has not been initialized yet

这个错误表示你的 rosdep 还没有初始化。rosdep 是一个 ROS 中的系统依赖管理工具,用于安装和配置需要的系统依赖包。在使用 rosdep 之前,需要先通过 rosdep update 命令初始化它。这个命令会连接远程服务器来更新 rosdep 的数据源,以获取所有支持的 ROS 版本和平台的依赖信息。…...

python 文创产品商城推荐网上购物系统设计与实现vue

随着Internet的发展&#xff0c;人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化、网络化和电子化。网上销售&#xff0c;它将是直接市场营销的最新形式。本论文是以构建文创产品推荐系统为目标&#xff0c;使用 django制作&#xff0c;由前台用户购物、…...

[lammps教程]OVITO绘制原子运动轨迹线

一区Script Materialia期刊&#xff1a;多主元素合金中的短程有序域扩散一文&#xff0c;研究了CrCoNi合金和MoNbTa合金中原子的扩散过程&#xff0c;文中有出现如下图所示的原子运动轨迹线。这种原子运动轨迹线我们在研究扩散过程中常常会用到。 图参考自&#xff1a;Bin Xing…...

2037:【例5.4】约瑟夫问题

【题目描述】 NN个人围成一圈&#xff0c;从第一个人开始报数&#xff0c;数到MM的人出圈&#xff1b;再由下一个人开始报数&#xff0c;数到MM的人出圈&#xff1b;…输出依次出圈的人的编号。 【输入】 输入NN和MM。 【输出】 输出一行&#xff0c;依次出圈的人的编号。 【输…...

小节2:Python数学运算

1、Python的运算优先级顺序和平时数学中的一样&#xff0c;都是先括号&#xff0c;再乘方&#xff0c;再乘除&#xff0c;再加减。 PS&#xff1a;乘方符号再Python中用**表示&#xff0c;如2的三次方用2**3表示 2、用Python做更高级的运算&#xff08;如&#xff1a;三角函数…...

查看Oracle_表名、字段名、注释、进程及杀进程等常用语句

-- 查看ORACLE 数据库中本用户下的所有表 SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户下的所有表 select user,table_name from all_tables; -- 查看ORACLE 数据库中本用户下的所有列 select table_name,column_name from user_tab_columns; -- 查…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...