- public Object DownloadToExcel(JObject searchCriteria, JObject validCriteria)
- {
- Dictionary
- <
- string
- ,
- object
- > returnData = (Dictionary<
- string
- ,
- object
- >)
- this.InitData(searchCriteria);
- Object dObject
- =
- this.InitData(searchCriteria);
- DataTable dt
- = ((DataSet)returnData[
- "data"
- ]).Tables[
- 0];
- String template
- = AppDomain.CurrentDomain.BaseDirectory + System.Configuration.ConfigurationSettings.AppSettings[
- "ReportsExcelPath"
- ] +
- "Template\\test123.xlsx";
- IWorkbook iworkbook;
- using
- (FileStream file =
- new FileStream(template, FileMode.Open, FileAccess.Read))
- {
- iworkbook
- =
- new XSSFWorkbook(file);
- file.Close();
- }
- var
- parameters = JsonConvert.DeserializeObject
- string
- ,
- object
- >>
- (searchCriteria.ToString());
- ISheet sheet1
- = iworkbook.GetSheetAt(
- 0);
- ICell TitleMsg
- = sheet1.GetRow(
- 0
- ).GetCell(
- 0);
- IRow sourceRow
- = sheet1.GetRow(
- 6);
- IRow headsourceRow
- = sheet1.GetRow(
- 4);
- int
- i =
- 6, j;
- DateTime currentTime
- =
- DateTime.Now;
- TitleMsg.SetCellValue(string
- .Format(
- "on:{0},{1} {2} {3} {4}"
- , currentTime.DayOfWeek.ToString(), currentTime.Day, strMonth[currentTime.Month], currentTime.Year.ToString(), currentTime.TimeOfDay.ToString().Substring(
- 0
- ,
- 8)));
- //int headIndex = 4;
- IRow headerRow = sheet1.GetRow(
- 3);
- ICell Region
- = sheet1.GetRow(
- 4
- ).GetCell(
- 2);
- Region.SetCellValue(parameters["RegionText"].ToString());
- foreach
- (DataRow row
- in dt.Rows)
- {
- IRow irow
- =
- sheet1.CreateRow(i);
- j
- =
- 0;
- foreach
- (DataColumn column
- in dt.Columns)
- {
- String value
- =
- row[dt.Columns[j].ColumnName].ToString();
- ICell icell
- =
- irow.CreateCell(j);
- icell.CellStyle
- = sourceRow.Cells[
- 0].CellStyle;
- icell.SetCellValue(value);
- j
- ++
- ;
- }
- i
- ++
- ;
- }
- String filename
- =
- "newfile"
- + DateTime.Now.ToString(
- "yyyyMMMdd_HHmmss"
- ) +
- ".xlsx";
- String fullpath
- = AppDomain.CurrentDomain.BaseDirectory +
- "Document\\Reports\\Output\\"
- +
- filename;
- FileStream files
- =
- new FileStream(fullpath, FileMode.Create);
- iworkbook.Write(files);
- files.Close();
- returnData.Add("filename"
- ,
- "Document\\Reports\\Output\\"
- +
- filename);
- if (File.Exists(fullpath))
- {
- return returnData;
- }
- else
- {
- return null;
- }
- }
来源: http://www.bubuko.com/infodetail-2163818.html