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(); } } }