1 下載並引用Npoi類庫
http://npoi.codeplex.com
2 示例代碼
namespace MvcApp.Controllers
{
public class TestController : Controller
{
public FileResult TestXlsx()
{
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet();
for (int i = 0; i < 10; i++)
{
IRow row = sheet.CreateRow(i);
for (int j = 0; j < 10; j++)
{
row.CreateCell(j).SetCellValue(i + "行" + j + "列");
}
}
NpoiMemoryStream ms = new NpoiMemoryStream();
ms.AllowClose = false;
workbook.Write(ms);
ms.Seek(0, System.IO.SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", "測試文件.xlsx");
}
public FileResult TestDocx()
{
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p1 = doc.CreateParagraph();
p1.Alignment = ParagraphAlignment.CENTER;
XWPFRun r1 = p1.CreateRun();
r1.SetText("測試段落一");
XWPFParagraph p2 = doc.CreateParagraph();
p2.Alignment = ParagraphAlignment.LEFT;
XWPFRun r2 = p2.CreateRun();
r2.SetText("測試段落二");
NpoiMemoryStream ms = new NpoiMemoryStream();
ms.AllowClose = false;
doc.Write(ms);
ms.Seek(0, System.IO.SeekOrigin.Begin);
return File(ms, "application/vnd.ms-word", "測試文件.docx");
}
}
public class NpoiMemoryStream : MemoryStream
{
public bool AllowClose { get; set; }
public NpoiMemoryStream()
{
AllowClose = true;
}
public override void Close()
{
if (AllowClose)
base.Close();
}
}
}
