OpenXml开发-向Excel2007文档中添加数据
public static void Run()
{
// 打开Excel2007模板文档
using (PackageHelper package = new PackageHelper(Properties.Resources.BaseSpreadsheetML))
{
// 加载sheet1内容到一个XmlDocument
Uri sheet1Uri =
new Uri(@"/xl/worksheets/sheet1.xml", UriKind.Relative);
XmlDocument sheet1Xml =
package.GetWritablePart(sheet1Uri);
XPathNavigator sheet1Data = sheet1Xml.CreateNavigator()
.SelectSingleNode("x:worksheet/x:sheetData",
Namespaces.NamespaceManager);
//向sheet1添加数据
using (XmlWriter writer = sheet1Data.AppendChild())
{
int i;
//添加标题行
Spreadsheet.SpreadsheetDoc.WriteStartRow(writer, 1);
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "A", 1, "Name");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "B", 1, "Email");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "C", 1, "Territory");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "D", 1, "Sub Total");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "E", 1, "Tax Amount");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "F", 1, "Freight");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "G", 1, "Sale Total");
writer.WriteEndElement();//关闭标题行标记
int index = 2;//从第二行开始填充数据
for (i = 0; i < 12; i++)
{
// 添加行开始标记
SpreadsheetDoc.WriteStartRow(writer, index);
// 向单元格添加数据
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "A", index,
"Name:"+i.ToString());
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "B", index,
i.ToString()+"@metarace.com");
Spreadsheet.SpreadsheetDoc.WriteStringCell(writer, "C", index,
i.ToString());
Spreadsheet.SpreadsheetDoc.WriteNumberCell(writer, "D", index,
i);
Spreadsheet.SpreadsheetDoc.WriteNumberCell(writer, "E", index,
i);
Spreadsheet.SpreadsheetDoc.WriteNumberCell(writer, "F", index,
i);
// write the total formula in the cell
Spreadsheet.SpreadsheetDoc.WriteFormulaCell(writer, "G", index,
string.Format("SUM(D{0}:F{0})", index));
// 添加行结束标记
writer.WriteEndElement();
index++;
}
// 添加合计
SpreadsheetDoc.WriteStartRow(writer, index);
// 添加合计单元格的说明和公式
SpreadsheetDoc.WriteStringCell(writer, "F", index, "Sales Totals");
//添加公式单元格
SpreadsheetDoc.WriteFormulaCell(writer, "G", index,
string.Format("SUM(G2:G{0})", index - 1));
// 关闭行
writer.WriteEndElement();
}
//保存
package.SavePart(sheet1Uri, sheet1Xml);
// save the shared strings
SharedStrings.Save(package);
// 保存到文件
package.Save("test.xlsx");
}
}
以上代码中的部分方法将在下篇加以说明
转载于:https://www.cnblogs.com/blue-skies/archive/2010/07/19/1780839.html
OpenXml开发-向Excel2007文档中添加数据相关推荐
- Word开发工具Aspose.Words功能演示:在C ++中以编程方式在Word文档中添加或删除页眉和页脚
Word文档中的页眉和页脚用于格式化和显示重要信息,例如主题,章节,页码,Copywrite等.以编程方式使用Word文档时,可能需要添加或删除页眉和页脚.为此,本文将教您如何使用C ++在Word文 ...
- Word控件Spire.Doc 【页眉页脚】教程(1):用C#/VB.NET:在 Word 文档中添加页眉和页脚
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...
- word文档中添加mathtype加载项
教您在word文档中添加mathtype加载项 发布时间:2019/08/12 mathtype安装完成后,正常情况下会在word文档中的菜单中自动添加mathtype加载项,但有时也会出现小意外,m ...
- java 界面艺术字,Java 在Word文档中添加艺术字
与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...
- java setrotation_Java 在Word文档中添加和旋转图形
一.前言及环境搭建 在Word文档中,我们可以在录入文本信息时加入一些图形,来使内容更加生动形象且富有独特样式.前文中演示过如何在Excel工作表中添加.读取和删除形状,同时也介绍过怎样在PPT文档中 ...
- 怎样在PDF文档中添加插入图片
制作编辑文档的时候经常需要在文档中添加一些图片内容,这样可以使文档更生动.像word.ppt这些文档可以直接通过复制粘贴就可以了,那么编辑pdf文件的时候怎样在文件中插入图片呢? 方法/步骤 首先是需 ...
- Java在PDF文档中添加或删除页面
前言 当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面.本文将向您演示如何使用Spire.PDF for Java在PDF文档中添加或删除页面. 程序环境 安装Spire. ...
- Word处理控件Aspose.Words功能演示:在C#中的Word文档中添加或删除水印
水印通常用于显示文档的所有权或分类.在本文中,我们将学习使用Aspose.Words for .NET API 在Word文档中使用水印.让我们介绍以下与水印有关的用例. 使用C#在Word文档中添加 ...
- java设置标签艺术字体颜色_Java 在Word文档中添加艺术字
与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...
最新文章
- shell的各种运行模式?
- python的沙盒环境virtualenv(二)--简单使用
- 60条令你大吃一惊的小常识,很有用
- Python入门、进阶经典PDF下载
- 【Lolttery】项目开发日志 (三)维护好一个项目好难
- 3.1_ _2_ 内存管理的概念
- 岗位多多,招聘 23人 | 中国农业科学院深圳农业基因组研究所诚聘博士后和科研人员...
- Magento 自定义分页代码 How to change pagination design in product listing page in magen
- Intellij Java注释模板
- 超详细Centos6.5文本模式安装步骤
- python廖雪峰教程 学习笔记
- 随记:Ubuntu12.04下关闭图形界面的相关问题
- DeepLabv1补充:对全连接条件随机场(Fully Connected / Dense CRF)的理解
- android 音乐均衡器,App+1 | 不懂均衡器调校也能量身定制,无需折腾的 Android 音效提升工具...
- 从0开始的spss数据分析学习之路
- 手机连接电脑 不显示android phone
- python定时导出已发送文件_Python链接数据库查询导出查询结果到Excel并定时发送邮件到指定邮箱,实现巡检功能(亲测可用!!!)...
- PEWIN32 PRO site key
- 当你觉得生活快熬不下去时,请你读一读《活着》
- git 移除项目版本控制_Git - 关于版本控制
热门文章
- c语言 rgb颜色渐变_这种渐变噪点的质感,咋做的?
- 技巧 | 栅格的属性数据和经纬度是分开的两个文件,怎么将它们整合到同一个文件上...
- 2020年面向前端开发人员的10个最佳CSS框架
- 杂谈!了解一些额外知识,让你的前端开发锦上添花
- mipi协议_Cadence发布业界首款面向多协议PHY的验证IP产品
- 通信服务器系统安装,pxe网络安装操作系统
- linux pxe 博客,pxe无人值守linux系统安装
- NYOJ-水池数目(dfs)
- Failed to find any matching files for /tmp/resnet_v1_50.ckpt
- 两台机器实现QPS3000的服务优化