.NET 通过C#设置Excel工作表的页面设置
Excel文件数据准备就绪并需要以报告形式呈现时,调整Excel文件的页面设置变得尤为重要,不仅关乎文档的专业外观,还直接影响到打印或电子分享时的可读性和实用性。通过C#来自动化这一过程,不仅可以节省大量手动配置的时间,还能确保多个文件的一致性与标准化。我们可以利用C#轻松地控制页边距、纸张方向、缩放比例等关键属性,从而让最终输出更加符合具体需求。本文将介绍如何在.NET平台使用C#对Excel工作表进行常用的页面设置。
本文所使用的方法需要用到免费的Free Spire.XLS for .NET,NuGet:PM> Install-Package FreeSpire.XLS
。
用C#设置Excel工作表页面设置
在载入Excel工作簿之后,我们可以使用Workbook.Worhsheets[]
属性获取其中的制定工作表,然后库中的Worksheet.PageSetup
属性获取该工作表的页面设置。最后,我们使用PageSetup类下的属性就可以设置工作表的页边距、页面方向、打印区域、缩放比例等页面设置。以下是详细操作步骤:
- 导入所需模块。
- 创建
Workbook
对象,使用Workbook.LoadFromFile()
方法载入Excel工作簿。 - 使用
Workbook.Worksheets[]
属性获取工作表。 - 使用
Worksheet.PageSetup
属性获取页面设置对象。 - 使用
PageSetup.TopMargin
、PageSetup.BottomMargin
、PageSetup.LeftMargin
、PageSetup.RightMargin
属性设置页面上下左右边距。 - 使用
PageSetup.Orientation
属性设置页面方向。 - 使用
PageSetup.PaperSize
属性设置纸张大小。 - 使用
PageSetup.PrintArea
属性设置打印区域。 - 使用
PageSetup.Zoom
属性设置缩放比例,或使用PageSetup.FitToPagesTall
和PageSetup.FitToPagesWide
设置缩放适应页面宽高比例。 - 使用
Workbook.SaveToFile()
方法保存工作簿。 - 释放资源。
代码示例
using Spire.Xls;namespace SetFitToPages
{internal class Program{static void Main(string[] args){// 创建Workbook实例Workbook workbook = new Workbook();// 加载一个Excel文件workbook.LoadFromFile("示例.xlsx");// 获取第一个工作表Worksheet sheet = workbook.Worksheets[0];// 获取PageSetup对象PageSetup pageSetup = sheet.PageSetup;// 设置页面边距pageSetup.TopMargin = 0.5; // 上边距pageSetup.BottomMargin = 0.5; // 下边距pageSetup.LeftMargin = 0.5; // 左边距pageSetup.RightMargin = 0.5; // 右边距// 设置页面方向pageSetup.Orientation = PageOrientationType.Landscape; // 横向// 设置纸张大小pageSetup.PaperSize = PaperSizeType.PaperA3; // A3纸张// 设置打印区域pageSetup.PrintArea = "A1:E10"; // 打印区域从A1到E10// 设置页面缩放或适应页面宽度和高度pageSetup.Zoom = 90; // 缩放至90%//pageSetup.FitToPagesTall = 1 // 调整以适应一页的高度//pageSetup.FitToPagesWide = 1 // 调整以适应一页的宽度// 保存工作簿workbook.SaveToFile("output/Excel页面设置.xlsx");workbook.Dispose();}}
}
结果
本文演示如何在.NET平台使用C#设置Excel工作表页面常用设置。Spire.XLS for .NET还支持其他页面设置,可下载查看并使用。
相关文章:

.NET 通过C#设置Excel工作表的页面设置
Excel文件数据准备就绪并需要以报告形式呈现时,调整Excel文件的页面设置变得尤为重要,不仅关乎文档的专业外观,还直接影响到打印或电子分享时的可读性和实用性。通过C#来自动化这一过程,不仅可以节省大量手动配置的时间࿰…...

Excel日期导入数据库变为数字怎么办
在Excel导入到数据库的过程中,经常会碰到Excel里面的日期数据,导进去过后变成了数字。 如下图: 使用navicate等数据库编辑器导入数据库后: 原因分析:这是因为日期和时间在excel中都是以数字形式存储的,这个…...

SSL---SSL certificate problem
0 Preface/Foreword 0.1 SSL certificate problem 开发过程中,gitlab-runner连接gitlab时候出现SSL 证书问题。 场景:公司的gitlab runner服务器引入了SSL证书,每年都会主动更新一次。当前的gitlab-runner运行在PC机器上,但是g…...

linux tar 打包文件去掉文件所在路径
一、准备目录 /root/tmp/images /root/tmp/images2 执行命令打包目录/root/tmp/images 到 /root/tmp/images.tar.gz 再解压到/root/tmp/images2 cd /root/tmp/images && tar -cvzf images.tar.gz * && mv images.tar.gz /root/tmp/ tar -C /root/tmp/image…...

MQ快速入门【详细】个人笔记 讲解通俗易懂
1.同步通讯和异步通讯 同步通讯:如果举个例子来说,同步通讯就像是两个人在打电话,一方说的话,能够立马传给另一方,消息的时效性非常高,但是相对的,只能是给一个人通讯,如果这个时候&…...

react实现实时计时的最简方式
js中时间的处理,不借助于moment/dayjs这样的工具库,原生获取格式化的时间,最简单的实现方式可以参考下面这样。 实现效果 代码实现 封装hooks import { useState, useEffect } from "react";export function useCountTime() {c…...
时尚的社会心理机制:求同和树异这对互为矛盾的心理动机,使得人们在社会生活中互相模仿、互相追逐、互相竞争,使得时尚的钟摆永不停息。
文章目录 引言I 时尚时尚的社会心理机制时尚的分类时尚的特点时尚的表现形式II 术语时装周服饰引言 时尚(fad)又称流行,它指在一定时期内社会上或一个群体中普遍流行的,并为大多数所仿效的生活方式或行为模式。 人的心理动机常常是互相矛盾的,既要求同于人,又要求异于人。…...

HarmonyOS NEXT应用开发实战(二、封装比UniApp和小程序更简单好用的网络库)
网络访问接口,使用频次最高。之前习惯了uniapp下的网络接口风格,使用起来贼简单方便。转战到鸿蒙上后,原始网络接口写着真累啊!目标让鸿蒙上网络接口使用,简单程度比肩uniapp,比Axios更轻量级。源码量也不多…...

[Hbase]一 HBase基础
1. HBase简介 1.1 HBase定义 HBase数据模型的关键在于 稀疏、分布式、多维、排序 的映射。其中映射 map指代非关系型数据库的 key-Value结构。 1.2 HBase数据模型 1)Name Space 命名空间,类似于关系型数据库的database 概念,每个命名空间下有多个表。HBase 两个自…...

React.createRef(),React.forwardRef(),forwardRef()结合next.js的link进行路由跳转
码云https://gitee.com/skyvilm/react-next.js 1.React.createRef() 作用:获取dom元素 使用 import React,{Component} from react export default class Index extends Componen{ constructor(props){ super(props) this.myrefReact.createRef(); //创建节点 } c…...

C++从入门到起飞之——AVL树 全方位剖析!
🌈个人主页:秋风起,再归来~🔥系列专栏:C从入门到起飞 🔖克心守己,律己则安 目录 1. AVL的概念 2. AVL树的实现 2.1 AVL树的结构 2.2 AVL树的插⼊ >AVL树插⼊⼀个值的⼤概过程 &…...
利用Fail2Ban增强Jupyter Notebook安全性以防范目录遍历攻击
利用Fail2Ban增强Jupyter Notebook安全性以防范目录遍历攻击 书接上回[^参见]一、目录遍历攻击(Directory Traversal Attack)二、日志记录的网络攻击示例分析三、配置 Fail2ban四、fail2ban-regex测试和验证正则表达式五、重启 Fail2Ban六、验证配置生效…...

智能贴身监测,健康生活建议,圆道妙医智能手表体验
如今热衷于运动和健康生活的爱好者越来越多,相关的赛事等活动也是逐年增多,很多朋友为了能够直观的了解自己的健康状况,都会配备一款智能手表,这样戴在身上就可以随时了解自己的心率、血氧等数据。最近我尝试了一款圆道妙医推出的…...

C++——AVL树
文章目录 一、AVL树的概念二、AVL树的实现1. AVL树的结构2. AVL树的插⼊2.1 AVL树插⼊⼀个值的⼤概过程2.2 平衡因⼦更新更新原则更新停止条件 2.3 插⼊结点及更新平衡因⼦的代码实现 3. 旋转旋转的原则右单旋左单旋左右双旋右左双旋 4.高度5.结点个数6.判断是否是AVL树7. 中序…...

极市平台 | 无人机相关开源数据集资源汇总
本文来源公众号“极市平台”,仅用于学术分享,侵权删,干货满满。 原文链接:无人机相关开源数据集资源汇总 本文介绍几个无人机有关的开源数据集,内附下载链接。 UAV Delievery 无人机轨迹数据集 下载链接ÿ…...
React和Vue区别,以及注意事项
目录 一、语法和框架特性的差异 二、开发习惯和注意事项 三、特别注意事项 一、语法和框架特性的差异 模板语法: Vue使用了类似于传统HTML的模板语法,通过双大括号{{ }}进行插值,而React则使用了JSX语法。在Vue中,你可以直接在…...

光伏项目难管理的问题如何解决?
1.数字化管理平台的应用 数字化是当前解决光伏项目管理难题的关键手段之一。通过建立统一的数字化管理平台,可以实现对光伏电站的远程监控、数据分析、故障预警及运维调度等功能。这类平台通常集成有智能算法,能够实时分析电站运行数据,及时…...

图片美化SDK解决方案,赋能H5与小程序极致体验
无论是社交媒体分享、电商产品展示,还是个人日常生活的记录,一张经过精心美化的图片总能瞬间吸引眼球,传递出更加丰富和动人的信息。如何在不增加应用体积、不牺牲用户体验的前提下,为H5页面和小程序提供媲美原生APP的图片美化功能…...

Kron Reduction消去法如何操作,矩阵推导过程
三阶矩阵消去单节点 在电力系统中,母线上的电流注入始终为0,这样的节点可以通过一定的方法消除。以三节点为例,假设注入节点3的电流为0,则: [ I 1 I 2 I 3 ] = [ I 1 I 2 0 ] = [ Y 11 Y 12 Y 13 Y 21 Y 22 Y 23 Y 31 Y 32 Y 33 ] [ V 1 V 2 V 3 ] \left[\begin{array}{…...

实时开放词汇目标检测(论文复现)
实时开放词汇目标检测(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 实时开放词汇目标检测(论文复现)概述模型框架使用方式配置环境训练和评估训练评估 演示效果Gradio Demo 概述 YOLO-World是由腾讯人工智能实验…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...