ご迷惑をかけてください。 私はopen xml sdkで新しいです。 私のプログラムは、いくつかのデータとDataTableをExcelファイル(テンプレート)にエクスポートする機能を持っています テンプレートでは、いくつかのプレースホルダにデータを挿入します。これは、作品は非常に良いことだが、私はあまりにも... 私のサンプルコードのDataTableを挿入する必要があります。Open Xml SDKを使用してDataTableをExcelにエクスポートするC#
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++;
}
}
}
}
を輸出するのではなく、出力のDataTable slooooooooooooooooooooooowwwwwwwにこのフラグメント...
DataTableをExcelに高速かつ正確にエクスポートするにはどうすればよいですか?
@
workbookPart.Workbook.Save();
私が投稿している完全なコードあなたはオープンXML SDKを使用する必要がありますか? – KLIM8D
えええええええええええええええええええええええええええええええええええええええないではない、私のプログラムでは、xlsxファイルを読み込み、DataTableを使ってDataGridviewにデータを取得し、データを再チェックします。まず、私はinteropを使いましたが、それは優れていると非常に遅い必要があります。私の問題は輸出だけです。しかし、私はこの時点で多くのコードを書き直したくないです:) – user1576474