public string CreateExcelWithRJson(string jsonStr) { RM4ExcelData excelData = DataContractHelper.FromJsonTo <RM4ExcelData>(jsonStr); DataTable exceltable = CreateMyExcel(excelData); strHeaderText = excelData.Title; string paths = HttpContext.Current.Server.MapPath("~"); strFileName = paths + "\\upload\\excel"; strHeaderText = GetFieldName(strHeaderText); string filename = GetFileName(strHeaderText); strFileName = strFileName + "\\" + filename; StartCreateExcel(exceltable, strHeaderText, strFileName); return(filename); }
/// <summary> /// 生成Excel /// </summary> /// <param name="excelData"></param> private DataTable CreateMyExcel(RM4ExcelData excelData) { DataTable exceltable = new DataTable(); List <string> fieldlist = new List <string>(); for (int i = 0; i < excelData.Datas.Count; i++) { string filedname = excelData.Datas[i].ColumnName; exceltable.Columns.Add(filedname); fieldlist.Add(filedname); } for (int j = 0; j < excelData.Datas[0].ColumnValues.Count; j++) { DataRow datarow = exceltable.NewRow(); for (int h = 0; h < fieldlist.Count; h++) { string field = fieldlist[h]; datarow[field] = excelData.Datas[h].ColumnValues[j]; } exceltable.Rows.Add(datarow); } return(exceltable); }