對不起,我的英語請。 我是新的打開xml sdk。 我的程序能夠將一些數據和DataTable導出到Excel文件(模板) 在模板中,我將數據插入一些佔位符。它的作品非常好,但我需要插入一個DataTable太... 我的示例代碼:用c#中的Open Xml SDK導出DataTable到Excel#
using (Stream OutStream = new MemoryStream())
{
// read teamplate
using (var fileStream = File.OpenRead(templatePath))
fileStream.CopyTo(OutStream);
// exporting
Exporting(OutStream);
// to start
OutStream.Seek(0L, SeekOrigin.Begin);
// out
using (var resultFile = File.Create(resultPath))
OutStream.CopyTo(resultFile);
下一頁方法導出
private void Exporting(Stream template)
{
using (var workbook = SpreadsheetDocument.Open(template, true, new OpenSettings { AutoSave = true }))
{
// Replace shared strings
SharedStringTablePart sharedStringsPart = workbook.WorkbookPart.SharedStringTablePart;
IEnumerable<Text> sharedStringTextElements = sharedStringsPart.SharedStringTable.Descendants<Text>();
DoReplace(sharedStringTextElements);
// Replace inline strings
IEnumerable<WorksheetPart> worksheetParts = workbook.GetPartsOfType<WorksheetPart>();
foreach (var worksheet in worksheetParts)
{
DoReplace(worksheet.Worksheet.Descendants<Text>());
}
int z = 40;
foreach (System.Data.DataRow row in ExcelWorkXLSX.ToOut.Rows)
{
for (int i = 0; i < row.ItemArray.Count(); i++)
{
ExcelWorkXLSX.InsertText(workbook, row.ItemArray.ElementAt(i).ToString(), getColumnName(i), Convert.ToUInt32(z)); }
z++;
}
}
}
}
但這個片段輸出數據表slooooooooooooooooooooooowwwwwww ...
如何快速,真實地將DataTable導出到Excel?
你需要使用開放XML SDK? – KLIM8D 2012-08-04 21:22:51
嗯...不,但打開xml sdk快速讀取/寫入excel文件。在我的程序中,我讀取xlsx文件,將數據抓取到datagridview(使用DataTable),重新檢查數據。首先,我使用互操作,但它需要優秀且非常緩慢。我的問題只是出口。但是,此刻我不想重寫很多代碼:) – user1576474 2012-08-04 21:37:25