Excel 2007ドキュメントの保存
-
05-07-2019 - |
質問
.NET C#では、Excelテンプレートを開き、データを追加して、新しいドキュメントとして保存しようとしています。 OpenXMLドキュメント形式を使用しようとしています。これを行う方法についてのガイダンスを見つけることができないようです。すべてのドキュメントがパッケージにさまざまな部分を書き込む方法について説明しているようですが、完了して保存したいときに何をすべきかについては何も見つかりません。
この情報の入手先を知っている人はいますか非常に基本的と思われるものについて有用なものを見つけられないため、これについて間違って考えているに違いありません。
ありがとう
解決
ExcelPackage はそのために非常に有効です。しばらくは考えていませんが、筆頭著者が取り組んできませんでしたが、フォーラムで問題を解決してくれる人たちの良い支持者がいます。
FileInfo template = new FileInfo(Path.GetDirectoryName(Application.ExecutablePath)+"\\Template.xlsx");
try
{
using (ExcelPackage xlPackage = new ExcelPackage(strFileName,template))
{
//Enable DEBUG mode to create the xl folder (equlivant to expanding a xlsx.zip file)
//xlPackage.DebugMode = true;
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];
worksheet.Name = WorkSheetName;
foreach (DataRow row in dt.Rows)
{
int c = 1;
if (r > startRow) worksheet.InsertRow(r);
// our query has the columns in the right order, so simply
// iterate through the columns
foreach (DataColumn col in dt.Columns)
{
if (row[col].ToString() != null)
{
worksheet.Cell(r, c).Value = colValue;
worksheet.Column(c).Width = 10;
}
c++;
}
r++;
}
// change the sheet view to show it in page layout mode
worksheet.View.PageLayoutView = false;
// save our new workbook and we are done!
xlPackage.Save();
xlPackage.Dispose();
}
}
他のヒント
Open XML / SpreadsheetML文書へのアクセスは、ささいなことではありません。仕様は大きく複雑です。 " Open XML SDK" (google it)は間違いなく役立ちますが、多くのことを行うにはOpen XML標準の知識が必要です。
SpreadsheetGear for .NET にはExcelに似たAPIがあり、Excel Open XML(xlsx )ドキュメントおよびExcel 97-2003(xls)ドキュメント。
SpreadsheetGearのサンプルをこちらで確認し、無料試用版をダウンロードできますこちら。
免責事項:SpreadsheetGear LLCを所有しています
所属していません StackOverflow