当前位置: 首页 > 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; -- 查…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...