#region 导出待审核数据
/// <summary>
/// 营运导出医院端提交的待审核的备案产品数据,供营运线下审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnExportDownLoad_Click(object sender, EventArgs e)
{
HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
ISheet sheet1 = book.CreateSheet("模版说明");
ISheet sheet = book.CreateSheet("导入数据");
string templeDes = "说明:此模版格式可以导入,导入最大商品条数为:500;模板列除了申请主ID、平台ID、医院ID其他列均可改动。";
string templeDes2 = "注意:审核状态只能为11或12,其中11为审核通过,12为审核拒绝";
//获取数据
string keyValue = "";
foreach (GridDataItem dataItem in rd_BakApplyList.MasterTableView.Items)
{
RadioButton ckb = dataItem.FindControl("rbSelect") as RadioButton;
if (ckb.Checked)
{
//获取列表主键值
keyValue = dataItem.GetDataKeyValue("ID").ToString();
}
}
//获取数据
DataTable data = MangeBakApplyBO.GetToAuditBakApplyExcelList(GetUser().CurrentPlatID, keyValue);
//设置Ecxel Head 格式
HSSFCellStyle style = (HSSFCellStyle)book.CreateCellStyle();
HSSFFont font = (HSSFFont)book.CreateFont();
font.FontName = "黑体";
font.FontHeightInPoints = 12;
style.SetFont(font);
style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.GREY_40_PERCENT.index;
//模版说明sheet
IRow row0 = sheet1.CreateRow(0);
HSSFCell cell0 = (HSSFCell)row0.CreateCell(0);
cell0.SetCellValue(templeDes);
cell0.CellStyle = style;
IRow row01 = sheet1.CreateRow(1);
HSSFCell cell01 = (HSSFCell)row01.CreateCell(0);
cell01.SetCellValue(templeDes2);
cell01.CellStyle = style;
//导入数据sheet
if (data.Rows.Count > 0)
{
IRow row1 = sheet.CreateRow(0);
for (var j = 0; j < data.Columns.Count; j++)
{
HSSFCell cell = (HSSFCell)row1.CreateCell(j);
cell.SetCellValue(data.Columns[j].ColumnName.ToString());
sheet.SetColumnWidth(j, 20 * 256);
cell.CellStyle = style;
}
for (int i = 0; i < data.Rows.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
for (int j = 0; j < data.Columns.Count; j++)
{
HSSFCell cell = (HSSFCell)row.CreateCell(j);
cell.SetCellValue(data.Rows[i][j].ToString());
//设置列宽
sheet.SetColumnWidth(j, 20 * 256);
}
}
}
//写入到客户端
MemoryStream ms = new MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();
}
#endregion
<%--用于解决导出时Ajax问题--%>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnExportEmpty" />
</Triggers>
</asp:UpdatePanel>