dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

图解用SPIRE.XLS 写Excel文件

已有 5577 次阅读 2022-6-23 18:16 |个人分类:软件杂谈|系统分类:教学心得

图解用SPIRE.XLS 写Excel文件

这几天在写一个生成Excel表单的程序,初步接触到了免费的SPIRE.XLS组件,发现比较容易上手,生成文件不用安装Excel或启动Excel,使用自己的引擎来读写文件。免费版可以处理100行之内的数据或一个文件内工作表不超过5个即可。使用下来感觉容易上手,速度很快,效果也比较理想,于是总结了一下,算是给自己备忘:

1.安装好之后,要引用这个库。安装可以用Visual Studio 2022 community里的Nuget包管理器来安装。

使用SPIRE.XLS库.png

  1. 操作Excel的最常见动作,就是给单元格写文本、写数值、写公式,设置单元格的字体,设置单元格中部分文本的字体等。

    这个写表单的函数,重点在写单元格的文本,以及公式的设置。

    填写工作表.png


    单元格(Range对象)是重点的对象,Spire.xls提供了Range.Style.Font对象可以设置,比较方便。比如下面通过Style.Font.Color来设置单元格的字体颜色。注意使用Color对象要引用System.Drawing库,见最上面的图片。

    设置单元格的数字格式.png

    我们知道,Excel的单元格内,即使是一串文本,也可以分别是不同的字符设置不同的字体、颜色、大小等特征,因此是一种富文本格式的文本串。要提供这种精细的控制,方法上稍有不同。以下示例来自官网:

    创建字体对象.png

    单元格部分文本的字体设置.png


    SetFont的第1,2个参数对应文本串内,待设置的字符串其始末位置, 0表示第一个字符,29表示第30个字体,对1~30个字符使用 font1规定的风格,  第三个参数是设置的字体对象。

    设置单元格的文本与字体,与设置文本框的是类似的。以下是打印标签的函数,标签的信息多放在文本框内,因此设置文本框的代码多。(稍有不同的是,文本框的RichText对象要新建,单元格的则只需要通过等号进行隐式转换)。

    填写标签.png


    再简单提一下,向单元格内写入数值,应访问Range.NumberValue;设置数值的格式,应访问Range.NumberFormat。

    向Range写入数字与格式控制.png

    具体的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,不过是 英文的。




https://blog.sciencenet.cn/blog-1213210-1344224.html

上一篇:python小程序,验证2的67次方减1不是质数
下一篇:修正:圆周率计算的世界纪录是100万亿位。
收藏 IP: 210.13.108.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 19:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部