用NPOI创建一个新的EXCEL文件。
第一步,引用空间
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
创建工作簿
HSSFWorkbook wk = new HSSFWorkbook();
//创建一个Sheet
ISheet sheet = wk.CreateSheet("例子");
XSSFWorkbook xssfworkbook = new XSSFWorkbook() ;
ISheet sheet = xssfworkbook.CreateSheet();
创建单元行
//在第一行创建行
IRow row = sheet.CreateRow(0);
//在第一行的第一列创建单元格
ICell cell = row.CreateCell(0);
对单元格赋值
cell.SetCellValue("测试");
Controller
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
public ActionResult ApplicationsImport()
{
string fileName = string.Empty;
int successSum = 0;
int failSum = 0;
string lang = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
OperationResult operationResult = new OperationResult()
{
IsSuccess = false,
Error = "导入失败!"
};
//var categoryJson = WebRequestHelper.GetRequest("AppCategory/GetAllForImport");
//var resulttree = Newtonsoft.Json.JsonConvert.DeserializeObject<OperationResult<IEnumerable<AppCategoryViewModel>>>(categoryJson);
//if (!resulttree.IsSuccess)
//{
// throw new Exception(resulttree.Error);
//}
//var categoryList = resulttree.Data;
try
{
HttpPostedFileBase fileData = Request.Files[0];
if (fileData != null && fileData.ContentLength > 0)
{
if (Directory.Exists(Server.MapPath("~/Content/LoadFile/App")) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(Server.MapPath("~/Content/LoadFile/App"));
}
string fileSave = Server.MapPath("~/Content/LoadFile/App/");
string extName = Path.GetExtension(fileData.FileName);
string newName = Guid.NewGuid().ToString() + extName;
fileData.SaveAs(Path.Combine(fileSave, newName));
var strFileName = "~/Content/LoadFile/App/" + newName;
ISheet sheet;
if (extName.ToLower() == ".xlsx")
{
XSSFWorkbook xssfworkbook;
using (FileStream file = new FileStream(Server.MapPath(strFileName), FileMode.Open, FileAccess.Read))
{
xssfworkbook = new XSSFWorkbook(file);
}
sheet = xssfworkbook.GetSheetAt(0);
}
else
{
HSSFWorkbook hssfworkbook;
using (FileStream file = new FileStream(Server.MapPath(strFileName), FileMode.Open, FileAccess.Read))
{
hssfworkbook = new HSSFWorkbook(file);
}
sheet = hssfworkbook.GetSheetAt(0);
}
IRow headerRow = sheet.GetRow(0);
if (headerRow == null)
{
System.IO.File.Delete(Server.MapPath(strFileName));
if (lang.ToLower() == "zh-cn")
{
return Json(new { IsSuccess = false, Error = fileName + "导入失败:导入格式错误!" }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { IsSucce