c# - 如何在使用 oledb 导出的 excel 文件上应用模板?
问题描述
我已使用 oledb 将数据导出到 excel 文件中,但无法使用互操作或任何第三方库。这是我的代码:
''' <summary>
''' Export datagridview's data contained in an data table to excel file
''' </summary>
''' <param name="dataTable">DataGridView's datatable</param>
''' <param name="XLPath"> Excel File Path with xlsx extension</param>
Private Shared Sub ExportToExcel(ByVal dataTable As DataTable, ByVal XLPath As String)
Dim connStr = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" + XLPath + ";Extended
Properties='Excel 8.0;HDR = YES';"
Using connection As OleDbConnection = New OleDbConnection(connStr)
connection.Open()
Using command As OleDbCommand = New OleDbCommand()
command.Connection = connection
Dim columnNames As New List(Of String)
Dim tableName As String = dataTable.TableName
If dataTable.Columns.Count <> 0 Then
For Each dataColumn As DataColumn In dataTable.Columns
columnNames.Add(dataColumn.ColumnName)
Next
Else
tableName = If(Not String.IsNullOrWhiteSpace(dataTable.TableName), dataTable.TableName, Guid.NewGuid().ToString())
command.CommandText = $"CREATE TABLE [{tableName}] ({String.Join(",", columnNames.[Select](Function(c) $"[{c}] VARCHAR").ToArray())});"
command.ExecuteNonQuery()
End If
If dataTable.Rows.Count <> 0 Then
For Each row As DataRow In dataTable.Rows
Dim rowValues As List(Of String) = New List(Of String)()
For Each column As DataColumn In dataTable.Columns
rowValues.Add(If((row(column) IsNot Nothing AndAlso Not row(column).Equals(DBNull.Value)), row(column).ToString(), String.Empty))
Next
command.CommandText = $"INSERT INTO [{tableName}]({String.Join(",", columnNames.[Select](Function(c) $"[{c}]"))}) VALUES ({String.Join(",",
rowValues.[Select](Function(r) $"'{r}'").ToArray())});"
command.ExecuteNonQuery()
Next
End If
End Using
connection.Close()
End Using
End Sub
excel 文件已成功填充,但现在我必须在其上应用 xlsx 文件中提供给我的模板,并且我不能在此处使用任何第三方库。如何在 excel 文件中应用模板?有什么建议么 ?提前致谢。
解决方案
推荐阅读
- mysql - MySQL NodeJS 的 createConnection 与 createPool
- api - 如何在空手道中将“数字”转换为数字
- oauth-2.0 - 为什么检索访问令牌是 OAuth2 中带有额外 HTTP 请求的单独步骤?
- javascript - 如何在 React SPA 中实现添加自定义 js 代码片段功能?
- javascript - JavaScript - 对象创建问题
- c++ - 源文件中的函数已在另一个源文件中定义错误
- gremlin - Gremlin 遍历树以查找不包含具有指定属性的节点的每个分支的最高级别
- java - spring boot应用使用jar打包时如何使用SpringBootServletInitializer
- mysql - 数据库中的数据比较
- r - 连接 R 中的列