在Excel(xlsx)文件中用OpenXml SDK 添加一个新的Worksheet并写入字符串
来源:互联网 发布:数组转字符串 编辑:程序博客网 时间:2024/06/02 05:29
实现环境:Visual Studio 2010, OpenXml SDK 2.0.5022
这个代码实现了向一个已有的xlsx文件中添加一个新的Worksheet,并在这个Sheet中写入三行字符串“ObjectA1"~"ObjectC5"
Imports DocumentFormat.OpenXml.PackagingImports DocumentFormat.OpenXml.SpreadsheetPublic Class Form1 Private colStrings As List(Of String) Private Sub Button1_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button1.Click Dim objOpenFileDialog As OpenFileDialog = New OpenFileDialog() Dim strFilePath As String Dim objWorkbookPart As WorkbookPart Dim objWorkbook As Workbook Dim objWorkSheetPart As WorksheetPart Dim objWorksheet As Worksheet Dim objSeetData As SheetData Dim objShareStringTablePart As SharedStringTablePart Dim objShareStringTable As SharedStringTable objOpenFileDialog.Filter = "Excel Document (*.xlsx)|*.xlsx" objOpenFileDialog.ShowDialog() strFilePath = objOpenFileDialog.FileName If strFilePath.Length > 0 Then GenectStringcollection() Using objSpreadsheetDocument = SpreadsheetDocument.Open _(strFilePath, True) objWorkbookPart = objSpreadsheetDocument.WorkbookPart objWorkbook = objWorkbookPart.Workbook objWorkSheetPart = objWorkbookPart.AddNewPart _(Of WorksheetPart)() objWorksheet = New Worksheet() objWorkSheetPart.Worksheet = objWorksheet objSeetData = New SheetData() objWorksheet.Append(objSeetData) objShareStringTablePart = objWorkbookPart.SharedStringTablePart Dim id As Integer = 0 If objShareStringTablePart Is Nothing Then objShareStringTablePart = objWorkbookPart.AddNewPart _(Of SharedStringTablePart)() objShareStringTable = New SharedStringTable() objShareStringTablePart.SharedStringTable = _objShareStringTable Else objShareStringTable = objShareStringTablePart. _SharedStringTable id = UInt32.Parse(objShareStringTable.Count) End If Dim ip As Integer = 0 For i As Integer = 0 To 2 Dim objRow As New Row() objRow.RowIndex = i + 1 For j As Integer = 0 To 4 Dim objShareStringItem As New SharedStringItem() Dim objText = New Text() objText.Text = colStrings(ip) objShareStringItem.Append(objText) objShareStringTable.Append(objShareStringItem) Dim strref As String = String.Empty Select Case j Case 0 strref = "A" Case 1 strref = "B" Case 2 strref = "C" Case 3 strref = "D" Case 4 strref = "E" End Select strref = strref & CStr(i + 1) Dim objCell As New Cell() objCell.CellReference = strref objCell.DataType = CellValues.SharedString Dim objCellValue As New CellValue() objCellValue.Text = CStr(ip + id) ip = ip + 1 objCell.Append(objCellValue) objRow.Append(objCell) Next objSeetData.Append(objRow) Next Dim newSheet As New Sheet() newSheet.Id = objWorkbookPart.GetIdOfPart(objWorkSheetPart) newSheet.Name = "MySheet" newSheet.SheetId = objWorkbook.Sheets.Descendants(Of Sheet)() _.Count() + 1 objWorkbook.Sheets.Append(newSheet) objWorkbook.Save() End Using End If End Sub Private Sub GenectStringcollection() colStrings = New List(Of String)() For i As Integer = 1 To 3 Dim str As String = String.Empty Select Case i Case 1 str = "ObjectA" Case 2 str = "ObjectB" Case 3 str = "ObjectC" End Select For j As Integer = 1 To 5 colStrings.Add(str & CStr(j)) Next Next End SubEnd Class
相关资源:http://download.csdn.net/detail/tx_officedev/3942509
- 在Excel(xlsx)文件中用OpenXml SDK 添加一个新的Worksheet并写入字符串
- 利用OpenXml SDK创建Excel文件和给指定的worksheet填充数据
- 利用OpenXml SDK创建Excel文件和给指定的worksheet填充数据
- Excel VBA 在工作表(Worksheet)中动态添加按钮控件并添加事件的示例
- 调用COM来实现在最后一个Worksheet后插一个新的Worksheet
- c# 用OpenXmL读取.xlsx格式的Excel文件 返回DataTable
- 利用OpenXml SDK冻结Excel worksheet窗格和设置列框
- 为指定文本文件的的每一行的结尾添加指定字符串并写入新文件中
- c# 向Excel文件写入数据(Workbook 和Worksheet )
- EXCEL:创建一个新的EXCEL文件并保存
- 创建新的Excel ,并写入数据
- POI读取并解析xlsx格式的excel文件
- 利用OpenXml SDK添加样式以填充Excel前景色
- winform中 如何读取Excel文件,之后再把它写入一个新的Excel文件
- 两个文件内数字相加并写入一个新的文件的源程序
- python3 操作excel 写入xlsx类型文件 openpyxl
- MATLAB读取txt文件,并逐行处理字符串,写入到新的txt中
- 【整理】Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
- getSharedPreferences两个参数的意义
- Android开发原创教程
- Linux下的链表使用简介
- 将图片序列压缩成视频
- framebuffer learning
- 在Excel(xlsx)文件中用OpenXml SDK 添加一个新的Worksheet并写入字符串
- 模板链表
- 对主流技术的分析和总结
- 宏定义中##和#的使用
- java网络编程,HttpClient 应用~
- [转]LevelDB性能分析和表现
- 腾讯面试题
- Android中binderDied()以及"Unknown binder error code" 出现的原因说明
- 进程ID号