![]()
编辑推荐 Excelize是Go语言领域用于处理Excel文档的基础库,提供用编程方式处理Excel文档的能力。Excelize可以针对大量的Excel文档,提供多重数据源之间的数据链接和自动化处理能力。 本书基于Excelize基础库,从Office办公文档格式国际标准出发,以源代码为基础,结合大量直观的配图,循序渐进地讲解Excelize中的模块实现,详细解读技术标准内容和基础库的设计。 本书具有如下特色: ·深入浅出、图文并茂,操作、原理两手抓; ·提供配套源代码,从软件安装讲起,手把手指导读者上手操作; ·提供多平台的技术交流群,使用体验有保障。 内容推荐 本书基于Excelize基础库,从Office办公文档格式国际标准出发,以源代码为基础,结合大量直观的配图,循序渐进地讲解Excelize中的模块实现,详细解读技术标准内容和基础库的设计。主要内容包括Excelize开发环境准备、文档格式国际标准解读、文档数据结构建模、工作簿、工作表、单元格和行列的相关操作、复杂样式解析、图表、图片与形状的相关操作、数据验证与筛选、数据透视表、流式读写技术以及一个综合实践应用。阅读本书,具有一定Go语言基础,想入门Excelize的开发者能够进一步系统理解Excelize基础库的实现细节,不具备Go语言开发经验的开发者也能够快速掌握Excelize的设计原理。 目录 第 一篇 入门指南 第 1章 Excelize开发环境准备\t2 1.1 在Linux或macOS操作系统中搭建Go语言开发环境\t2 1.2 在Windows操作系统中搭建Go语言开发环境\t4 1.3 准备开发工具\t5 1.4 基本概念\t5 1.5 小结\t6 第 2章 编写并运行第 一个Excelize程序\t7 2.1 创建一个项目\t7 2.2 选择Excelize版本\t8 2.3 安装Excelize\t8 2.4 更新Excelize\t8 2.5 使用Excelize创建电子表格文档\t9 2.6 使用Excelize读取电子表格文档\t11 2.7 帮助资源与本地文档\t12 2.8 小结\t12 第二篇 基础库设计概览 第3章 Excelize设计哲学\t14 3.1 Excelize的诞生\t14 3.2 Excelize的设计理念\t15 3.2.1 易用性\t15 3.2.2 兼容性\t16 3.2.3 可维护性\t16 3.2.4 安全性\t17 3.3 Excelize的程序设计范式\t18 3.4 小结\t22 第4章 办公文档格式标准\t23 4.1 文档格式标准发展概述\t23 4.2 OpenXML标准特点\t24 4.3 文档格式标准解读\t26 4.4 文档结构分析\t28 4.5 小结\t33 第5章 Excelize基础库设计核心要素\t34 5.1 设计思路\t34 5.2 基础库架构设计\t35 5.3 内存模型设计\t36 5.4 异常处理设计\t46 5.5 安全性设计\t48 5.6 小结\t49 第三篇 深入Excelize 第6章 文档数据结构建模\t52 6.1 Go语言XML标准库实现分析\t52 6.2 Go语言复杂XML文件解析\t60 6.2.1 流式解析\t60 6.2.2 序列化与反序列化控制\t61 6.2.3 命名空间处理\t63 6.3 基于XSD进行文档数据结构建模\t68 6.4 案例分析:单元格格式解析\t72 6.5 文档格式分析开发工具\t74 6.6 小结\t79 第7章 工作簿\t81 7.1 创建、保存和关闭工作簿\t81 7.1.1 创建工作簿\t81 7.1.2 保存工作簿\t83 7.1.3 关闭工作簿\t84 7.2 打开已有工作簿\t85 7.3 工作簿属性\t88 7.3.1 设置工作簿属性\t88 7.3.2 获取工作簿属性\t90 7.4 工作簿应用程序属性\t90 7.4.1 设置工作簿应用程序属性\t90 7.4.2 获取工作簿应用程序属性\t91 7.5 文档属性\t91 7.5.1 设置文档属性\t91 7.5.2 获取文档属性\t93 7.6 保护工作簿\t93 7.6.1 设置保护工作簿\t93 7.6.2 取消保护工作簿\t94 7.7 名称管理\t94 7.7.1 设置名称\t94 7.7.2 获取名称\t96 7.7.3 删除名称\t96 7.8 添加VBA工程\t97 7.9 小结\t98 第8章 工作表\t99 8.1 工作表基本管理\t99 8.1.1 新建工作表\t99 8.1.2 删除工作表\t100 8.1.3 获取工作表索引\t100 8.1.4 复制工作表\t100 8.1.5 获取工作表列表\t101 8.1.6 获取工作表名称标识映射表\t101 8.1.7 设置活动工作表\t101 8.1.8 获取活动工作表索引\t101 8.2 工作表名称\t102 8.2.1 设置工作表名称\t102 8.2.2 获取工作表名称\t102 8.3 工作表分组\t102 8.3.1 设置工作表分组\t103 8.3.2 取消工作表分组\t103 8.4 工作表可见性\t104 8.4.1 设置工作表可见性\t104 8.4.2 获取工作表可见性\t104 8.5 工作表属性\t105 8.5.1 设置工作表属性\t105 8.5.2 获取工作表属性\t106 8.6 工作表视图属性\t106 8.6.1 设置工作表视图属性\t106 8.6.2 获取工作表视图属性\t108 8.6.3 设置窗格\t108 8.6.4 获取窗格设置\t111 8.7 工作表页面布局\t111 8.7.1 设置工作表页面布局\t111 8.7.2 获取工作表页面布局\t115 8.7.3 设置工作表页边距\t115 8.7.4 获取工作表页边距\t117 8.7.5 插入分页符\t117 8.7.6 删除分页符\t118 8.7.7 设置页眉和页脚\t118 8.7.8 获取页眉和页脚\t121 8.8 保护工作表\t121 8.8.1 设置保护工作表\t121 8.8.2 取消保护工作表\t123 8.9 工作表已用区域\t123 8.9.1 设置工作表已用区域\t124 8.9.2 获取工作表已用区域\t124 8.10 工作表背景\t124 8.11 小结\t125 第9章 单元格\t126 9.1 单元格坐标处理\t126 9.1.1 行列编号转A1引用\t127 9.1.2 A1引用转行列编号\t127 9.1.3 单元格坐标组合\t127 9.1.4 单元格坐标切分\t128 9.2 单元格赋值\t128 9.2.1 设置单元格的值\t128 9.2.2 设置布尔型单元格的值\t129 9.2.3 设置单元格内联存储值\t130 9.2.4 设置有符号整型单元格的值\t130 9.2.5 设置无符号整型单元格的值\t131 9.2.6 设置浮点型单元格的值\t131 9.2.7 设置字符串类型单元格的值\t131 9.3 读取单元格\t132 9.3.1 读取单元格的值\t132 9.3.2 读取单元格的数据类型\t134 9.4 单元格格式\t135 9.4.1 设置单元格格式\t135 9.4.2 获取单元格格式索引\t135 9.4.3 获取图片单元格\t136 9.5 合并单元格\t136 9.5.1 设置合并单元格\t136 9.5.2 取消合并单元格\t138 9.5.3 获取合并单元格\t139 9.6 单元格公式\t139 9.6.1 设置单元格公式\t139 9.6.2 获取单元格公式\t142 9.6.3 计算单元格公式\t143 9.6.4 清除公式计算结果缓存\t143 9.7 单元格超链接\t144 9.7.1 设置单元格超链接\t144 9.7.2 获取单元格超链接\t145 9.8 富文本单元格\t146 9.8.1 设置富文本格式\t146 9.8.2 获取富文本格式\t147 9.9 单元格批注\t147 9.9.1 设置单元格批注\t147 9.9.2 获取单元格批注\t148 9.9.3 删除单元格批注\t149 9.10 搜索单元格\t149 9.11 小结\t150 第 10章 行列处理\t151 10.1 列编号与列名称\t151 10.1.1 列编号转换为列名称\t151 10.1.2 列名称转换为列编号\t152 10.2 单元格批量赋值\t152 10.2.1 按行赋值\t152 10.2.2 按列赋值\t153 10.3 批量获取单元格\t154 10.3.1 按行获取全部单元格的值\t154 10.3.2 按列获取全部单元格的值\t156 10.4 插入与删除行列\t156 10.4.1 插入行\t157 10.4.2 插入列\t157 10.4.3 删除行\t157 10.4.4 删除列\t157 10.5 复制行\t158 10.5.1 追加复制行\t158 10.5.2 普通复制行\t158 10.6 行高度与列宽度\t158 10.6.1 设置行高度\t159 10.6.2 获取行高度\t159 10.6.3 设置列宽度\t159 10.6.4 获取列宽度\t160 10.7 行列可见性\t161 10.7.1 设置行可见性\t161 10.7.2 获取行可见性\t161 10.7.3 设置列可见性\t161 10.7.4 获取列可见性\t162 10.8 组合行列\t162 10.8.1 创建组合行\t162 10.8.2 获取组合行\t164 10.8.3 创建组合列\t164 10.8.4 获取组合列\t165 10.9 小结\t165 第 11章 样式\t166 11.1 创建样式\t166 11.1.1 边框\t167 11.1.2 填充\t170 11.1.3 字体\t173 11.1.4 对齐\t177 11.1.5 保护\t179 11.1.6 数字格式\t180 11.1.7 索引颜色与主题颜色\t190 11.2 读取样式\t192 11.3 行列样式\t192 11.3.1 设置行样式\t192 11.3.2 设置列样式\t193 11.3.3 获取列样式索引\t193 11.4 工作簿默认字体\t194 11.4.1 设置工作簿默认字体\t194 11.4.2 获取工作簿默认字体\t194 11.5 条件格式\t194 11.5.1 创建条件格式\t194 11.5.2 获取条件格式\t195 11.5.3 设置条件格式规则\t195 11.5.4 获取条件格式规则\t201 11.5.5 删除条件格式规则\t201 11.6 小结\t201 第 12章 图表\t202 12.1 创建图表\t202 12.1.1 数据源\t205 12.1.2 图形属性\t209 12.1.3 图例\t211 12.1.4 图表标题\t211 12.1.5 坐标轴格式\t212 12.1.6 绘图区格式\t213 12.2 图表分类\t215 12.2.1 面积图\t215 12.2.2 条形图\t217 12.2.3 柱形图\t218 12.2.4 锥形图\t220 12.2.5 折线图\t223 12.2.6 雷达图\t223 12.2.7 圆环图\t223 12.2.8 散点图\t224 12.2.9 气泡图\t225 12.2.10 饼图\t227 12.2.11 曲面图\t228 12.3 组合图表\t229 12.4 图表工作表\t231 12.5 删除图表\t231 12.6 迷你图\t232 12.7 小结\t234 第 13章 图片与形状\t235 13.1 添加图片\t235 13.2 获取图片\t239 13.3 删除图片\t239 13.4 添加形状\t240 13.5 表单控件\t245 13.5.1 添加表单控件\t245 13.5.2 获取表单控件\t248 13.5.3 删除表单控件\t248 13.6 小结\t248 第 14章 数据验证与筛选\t249 14.1 创建数据验证规则\t249 14.1.1 验证范围\t249 14.1.2 验证条件\t250 14.1.3 输入信息\t252 14.1.4 出错警告\t252 14.2 数据验证\t253 14.2.1 添加数据验证\t253 14.2.2 获取数据验证规则\t254 14.2.3 删除数据验证\t254 14.3 创建数据筛选\t255 14.4 表格\t257 14.4.1 创建表格\t257 14.4.2 获取表格\t259 14.4.3 删除表格\t260 14.5 切片器\t260 14.6 小结\t261 第 15章 数据透视表\t262 15.1 创建数据透视表\t262 15.2 获取数据透视表\t264 15.3 删除数据透视表\t265 15.4 工程实践案例\t265 15.5 小结\t268 第四篇 高性能流式读写技术 第 16章 流式读写原理\t270 16.1 流式读取\t270 16.2 流式写入\t271 16.3 小结\t273 第 17章 流式读写函数\t274 17.1 行列迭代器\t275 17.1.1 行迭代器\t275 17.1.2 列迭代器\t277 17.2 流式写入器\t278 17.2.1 获取流式写入器\t278 17.2.2 按行流式写入工作表\t278 17.2.3 流式创建表格\t280 17.2.4 流式插入分页符\t281 17.2.5 流式设置窗格\t281 17.2.6 流式合并单元格\t281 17.2.7 流式设置列宽度\t281 17.2.8 结束流式写入\t282 17.3 小结\t282 第五篇 实践应用 第 18章 综合案例\t284 18.1 股票走势分析\t284 18.1.1 数据预处理\t284 18.1.2 数据可视化\t288 18.2 考试成绩分析\t290 18.2.1 录入考试成绩\t290 18.2.2 统计成绩总分\t291 18.2.3 数据筛选与可视化\t292 18.2.4 突出显示特定分数\t293 18.2.5 批注与数据验证\t294 18.3 小结\t296 书评(媒体评论) Excel的强大功能和复杂性体现在其详尽的文件格式规范中,这些规范文档多达数千页。Excelize能够实现与Excel如此高的兼容性,无疑是一件非常了不起的事情,祝贺续日! ——邢璟夏 微软(亚洲)互联网工程院浏览器与移动端应用部总经理、全球合伙人,曾任Excel移动端产品负责人 办公文档处理引擎的实现是一项极其复杂的系统工程。Excelize历经8年持续迭代优化,实现了性能高、兼容性强的电子表格文档处理能力,已经被广泛应用于各类企业。 ——包云岗 中国科学院计算技术研究所副所长、研究员,中国科学院大学计算机科学与技术学院副院长 想编写程序来高效地处理Excel文档,Excelize是很好的选择。本书手把手指导读者使用Excelize处理Excel文档,结合丰富的案例,全面介绍了Excelize实现过程中的各种考虑。 ——章文嵩 中国计算机学会(CCF)会士、常务理事,开源软件LVS创始人,曾任高瓴集团运营合伙人、滴滴高级副总裁、阿里巴巴副总裁和阿里云CTO 本书既涵盖技术理论,又集成应用实践,深入浅出,具有很强的可读性和实用性,是读者掌握Excelize的高效应用指南。 ——宋可为 中国开源软件推进联盟常务副秘书长 续日是GoCN社区的技术专家,也是Gopher China大会的讲师。很高兴续日能够编写这样一本Excelize实战图书,给Go语言工程师提供了非常棒的工具。 ——谢孟军 上海积梦智能科技有限公司CEO,GoCN社区创始人 Excelize已经成为处理电子表格文档的热门选择。InfoQ非常荣幸地见证了Excelize不断迭代的发展历程以及《Excelize权威指南》的诞生。无论是希望提升办公自动化水平的人士,还是对数据处理与分析有深度需求的用户,都能通过本书快速掌握Excelize并将其应用于实际工作中。 ——霍太稳 InfoQ中国、极客邦科技创始人兼CEO 我在过去的工作中接触到不少需要解析或生成电子表格的场景,经过严格对比,最终选择使用Excelize来解析或生成电子表格。Excelize也是进行低代码相关业务开发的不二之选。 ——张旭红 曾任金山办公研发副总监、稀土掘金技术总监 |