/// <summary>
/// 导出认账流水
/// </summary>
/// <returns></returns>
public ActionResult ExportAdmitBankTrans(BankTransQueryModel queryModel)
{
HSSFWorkbook workBook = new HSSFWorkbook();
ISheet sheet = workBook.CreateSheet("商务报表");
IRow row = sheet.CreateRow(0);
// 获取样式
Func<ICellStyle> getCellStyle = () =>
{
ICellStyle cellStyle = workBook.CreateCellStyle();
cellStyle.Alignment = HorizontalAlignment.Center;
return cellStyle;
};
ICellStyle headerStyle = getCellStyle();
IFont fontHeade = workBook.CreateFont();
fontHeade.FontHeightInPoints = 11;
fontHeade.FontName = "微软雅黑";
fontHeade.Boldweight = (short)FontBoldWeight.Bold;
headerStyle.SetFont(fontHeade);
Func<string, int, ICell> setCellStyle = (string cellText, int colindex) =>
{
ICell cell = row.CreateCell(colindex);
sheet.SetColumnWidth(colindex, 9000);
cell.SetCellValue(cellText);
cell.CellStyle = headerStyle;
return cell;
};
setCellStyle("供应商名称", 0);
setCellStyle("采购编号", 1);
setCellStyle("实际到账", 2);
setCellStyle("到账日期", 3);
int rowStart = 1;
var list = BankTransBll.Instance.GetAllBankTransRealList(queryModel);
if (list != null)
{
foreach (var item in list)
{
IRow myrow = sheet.CreateRow(rowStart);
myrow.CreateCell(0).SetCellValue(item.CompanyName);
myrow.CreateCell(1).SetCellValue(item.ContractNo);
myrow.CreateCell(2).SetCellValue(item.Amount.ToString("f2"));
myrow.CreateCell(3).SetCellValue(item.REC_CREATETIME.ToShortDateString());
rowStart++;
}
}
using (MemoryStream ms = new MemoryStream())
{
workBook.Write(ms);
byte[] buffers = ms.ToArray();
return File(buffers, "application/vnd.ms-excel", string.Format("{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss")));
}
}