文档章节

读写.docx和.xlsx文档的C#类 - Simple OOXML

李朝强
 李朝强
发布于 2015/11/24 09:33
字数 340
阅读 166
收藏 0
Simple OOXML 是 CodePlex 上的一个开源项目,使用Open Xml SDK 2.0 ,封装了一系列读写.docx和.xlsx文档的类,可以很大程度上简化工作。
它提供以下这些类:
  • SpreadsheetReader - manipulation of templates, retrieval of document parts, row and column reference functionality
  • SpreadsheetWriter - writing of document parts and creation of document level attributes. Add or remove spreadsheets.
  • SpreadsheetStyle - encapsulates font, border and fill handing in a spreadsheet.
  • WoksheetReader - retrieves cell and style information from a worksheet
  • WorksheetWriter - allows the pasting or insertion of data and style - using simple value types or DataTables - at a cell or range reference.
  • DocumentReader - retrieval of document templates.
  • DocumentWriter - pastes and saves text and text lists using predefined bookmarks.

示例代码:

using (var stream = SpreadsheetReader.StreamFromFile("test.xlsx"))
{
    using (var doc = SpreadsheetDocument.Open(stream, true))
    {
        var sheet = SpreadsheetReader.GetWorksheetPartByName(doc, "Sheet1");
        var writer = new WorksheetWriter(doc, sheet);
 
        //获取默认样式
        var style1 = SpreadsheetStyle.GetDefault(doc);
        style1.SetBackgroundColor("97DDFF");//设置背景颜色
        style1.SetHorizontalAlignment(HorizontalAlignmentValues.Center);//设置水平居中对齐
        style1.SetBorder("000000", BorderStyleValues.Thin);//设置边框
        var data = new[] {
            new {Name = "小郑",Sex = "男",Age = 20},
            new {Name = "小王",Sex = "女",Age = 19}
        };
 
        int rowIndex = 2;
        for (int i = 0; i < data.Length; i++)
        {
            writer.PasteText("A" + rowIndex, data[i].Name, style1);//写入姓名
            writer.PasteText("B" + rowIndex, data[i].Sex, style1);//写入性别
            writer.PasteNumber("C" + rowIndex, data[i].Age.ToString(), style1);//写入年龄
            rowIndex++;
        }
        writer.Save();//在内存中保存文档结构
        SpreadsheetWriter.StreamToFile("test.xlsx", stream);//保存到文件中
    }
}



本文转载自:http://www.open-open.com/lib/view/open1326936587577.html

李朝强
粉丝 91
博文 297
码字总数 149962
作品 0
郑州
产品经理
私信 提问
Android使用ApachePOI组件读写Worddoc和docx文件【doc总结不错】

最近在项目中要生成Word的doc和docx文件,一番百度google之后,发现通过java语言实现的主流是Apache的POI组件。除了POI,这里还有另一种实现,不过我没有去研究,有兴趣的同学可以研究研究。...

Airship
03/13
64
0
poi操作doc文档

http://haofenglemon.iteye.com/blog/568897 关键字:POI JAVA 批注 总页数 总字符数 一:认识POI Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有...

yunlong090614
2015/01/30
6
0
PoiDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)】

版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用Poi实现android中根据模板文件生成Word文档的功能。这里的模板文件是doc文件。如果模板文件是docx文件的话,请阅读下一篇文章...

HaiyuKing
04/27
0
0
使用 Apache POI 处理 Microsoft Office 文档

原文同步至:http://www.waylau.com/apache-poi-handle-microsoft-documents/ POI 概述 Apache POI 项目的使命是创造和维护 Java API 操纵各种格式的文件,其中包括基于 Office Open XML 标准...

waylau
2015/02/01
1K
3
开源Word读写组件DocX介绍与入门

今天向大家介绍一款.NET下的开源轻量级Word 2007/2010格式读写组件DocX,很小巧,能够满足大部分工作需求吧,最重要的是可以不用庞大的Office。 1.前言 读写Offic格式的文档,大家多少都有用...

分钟
2014/04/09
523
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
41
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部