1
ウェブサイトで.xlsmファイルをエクスポートしようとしていますが、何か助けになるものが見つからないようです。以下は、xlsxファイルの構築をテストするための簡単な例です(動作します)。 epplusを使用して.xlsmファイルを作成する
@using OfficeOpenXml;
<html>
<body>
<div id="page-wrapper">
@{
// Change file extension to xlsm to test
string fileExtension = "xlsm";
ExcelPackage p = new ExcelPackage();
p.Workbook.Worksheets.Add("Worksheet Name");
int LatestWorksheetNumber = p.Workbook.Worksheets.Count;
ExcelWorksheet ws = p.Workbook.Worksheets[LatestWorksheetNumber];
ws.Cells[1, 1].Value = "Test";
//Generate A File
Byte[] bin = p.GetAsByteArray();
string filename = "filename";
try
{
//Download the file as an attachment
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Cookies.Clear();
string ContentType = "";
if (fileExtension == "xlsx")
{
ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
}
else
{
ContentType = "application/vnd.ms-excel.sheet.macroEnabled.12";
}
Response.GetType();
Response.ContentType = ContentType;
Response.AddHeader("content-disposition", "attachment; filename=" + filename + "." + fileExtension);
Response.BinaryWrite(bin);
Response.End();
<p>File Created</p>
}
catch (Exception e)
{
<p>@e.Message</p>
}
}
</div>
</body>
</html>
生成されたファイルを.xlsmするファイルの拡張子を変更することが、私はExcelでファイルを開こうとすると、私は拡張子が正しくないというエラーを取得した後。私が変更しなければならないのは、コンテンツタイプヘッダーだけだと思ったが、それは明らかに問題ではない。ほかに何が私は行方不明ですか?どんな指導もいただければ幸いです!
あなたは[サンプル](https://github.com/pruiz/EPPlus/blob/master/SampleApp/Sample15.cs)を見たことがありますか? –
おそらく、あなたは 'p.Workbook.CreateVBAProject'でVBAプロジェクトを作成するのを忘れていました。 – Xiaoy312
ダン、リンクをありがとう。以前サンプルを見ていなかったので、将来の質問に役立つようブックマークしています。しかし、Xiaoy312の提案は私の問題を解決しました。両方のおかげで! – Michael