||
这几天在写一个生成Excel表单的程序,初步接触到了免费的SPIRE.XLS组件,发现比较容易上手,生成文件不用安装Excel或启动Excel,使用自己的引擎来读写文件。免费版可以处理100行之内的数据或一个文件内工作表不超过5个即可。使用下来感觉容易上手,速度很快,效果也比较理想,于是总结了一下,算是给自己备忘:
1.安装好之后,要引用这个库。安装可以用Visual Studio 2022 community里的Nuget包管理器来安装。
操作Excel的最常见动作,就是给单元格写文本、写数值、写公式,设置单元格的字体,设置单元格中部分文本的字体等。
这个写表单的函数,重点在写单元格的文本,以及公式的设置。
单元格(Range对象)是重点的对象,Spire.xls提供了Range.Style.Font对象可以设置,比较方便。比如下面通过Style.Font.Color来设置单元格的字体颜色。注意使用Color对象要引用System.Drawing库,见最上面的图片。
我们知道,Excel的单元格内,即使是一串文本,也可以分别是不同的字符设置不同的字体、颜色、大小等特征,因此是一种富文本格式的文本串。要提供这种精细的控制,方法上稍有不同。以下示例来自官网:
SetFont的第1,2个参数对应文本串内,待设置的字符串其始末位置, 0表示第一个字符,29表示第30个字体,对1~30个字符使用 font1规定的风格, 第三个参数是设置的字体对象。
设置单元格的文本与字体,与设置文本框的是类似的。以下是打印标签的函数,标签的信息多放在文本框内,因此设置文本框的代码多。(稍有不同的是,文本框的RichText对象要新建,单元格的则只需要通过等号进行隐式转换)。
再简单提一下,向单元格内写入数值,应访问Range.NumberValue;设置数值的格式,应访问Range.NumberFormat。
具体的NumberFormat,可以参考Excel中单元格的自定义格式,或者学习官网上的示例。
官方网站上有比较详细的说明,地址:https://www.e-iceblue.com/Tutorials/Spire.XLS/Spire.XLS-Program-Guide/Document-Operation/How-to-set-the-font-and-background-for-TextBox-in-Excel-Chart.html,不过是 英文的。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 19:50
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社