.net 后端创建table表格
报表图示展示:
前端:
<div style="overflow-x:scroll;width: 100%"> <table id="htblResult" style="width:101%" runat="server" rules="all" class="table_con list-table"> </table>
后端:
//初始化加载该方法 private void BindData() { HtmlAddHeader(); HtmlAddRow(); } /// <summary> /// 添加标题 /// </summary> /// <param name="CellNameList"></param> /// <param name="RowNameList"></param> private void HtmlAddHeader() { HtmlTableRow HeaderRow1 = new HtmlTableRow(); HeaderRow1.AddHeaderCell("A", "", 1, 3); HeaderRow1.AddHeaderCell("B", "", 6); HeaderRow1.AddHeaderCell("C", "", 12); HeaderRow1.AddHeaderCell("D", "", 1, 3); htblResult.Rows.Add(HeaderRow1); HeaderRow1 = new HtmlTableRow(); HeaderRow1.AddHeaderCell("1", "", 3); HeaderRow1.AddHeaderCell("2", "", 3); HeaderRow1.AddHeaderCell("3", "", 3); HeaderRow1.AddHeaderCell("4", "", 3); HeaderRow1.AddHeaderCell("5", "", 3); HeaderRow1.AddHeaderCell("6", "", 3); htblResult.Rows.Add(HeaderRow1); HeaderRow1 = new HtmlTableRow(); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); HeaderRow1.AddHeaderCell("累计完成"); HeaderRow1.AddHeaderCell("目标"); HeaderRow1.AddHeaderCell("完成率"); htblResult.Rows.Add(HeaderRow1); } /// <summary> /// 添加数据行 /// </summary> private void HtmlAddRow() { double length = 0; double FinishCount = 0; HtmlTableRow tableRow = new HtmlTableRow(); foreach (var region in regionList) { if (!IsProvinceRegion) { if (region != user.Region) continue; } tableRow = new HtmlTableRow(); tableRow.AddCell(region.GetShortName()); BindRowData(length, FinishCount, tableRow, itemListByRegion, ResourceItemListByRegion); } #region 合计 tableRow = new HtmlTableRow(); tableRow.AddCell("合计"); BindRowData(length, FinishCount, tableRow, taskItemList, resourceItemList); #endregion //导出功能: Workbook workbook; Cells cells; Aspose.Cells.Style style; Common.Instance.SetExcelStyle(out workbook, out cells, out style); for (int i = 0; i < 3; i++) { for (int j = 0; j < 20; j++) { if (i == 0) { if (j == 0) cells[i, j].PutValue("A"); if (j == 19) cells[i, j].PutValue("B"); if (j > 0 && j < 7) cells[i, j].PutValue("C"); if (j > 6 && j < 19) cells[i, j].PutValue("D"); } if (i == 1) { if (j == 0) cells[i, j].PutValue("A"); if (j >= 1 && j <= 3) { cells[i, j].PutValue("1"); cells.SetColumnWidth(j, 20); } if (j >= 4 && j <= 6) { cells[i, j].PutValue("2"); cells.SetColumnWidth(j, 20); } if (j >= 7 && j <= 9) { cells[i, j].PutValue("3"); cells.SetColumnWidth(j, 20); } if (j >= 10 && j <= 12) { cells[i, j].PutValue("4"); cells.SetColumnWidth(j, 20); } if (j >= 13 && j <= 15) { cells[i, j].PutValue("5"); cells.SetColumnWidth(j, 20); } if (j >= 16 && j <= 18) { cells[i, j].PutValue("6"); cells.SetColumnWidth(j, 20); } } if (i == 2) { if (j == 0) cells[i, j].PutValue("A"); if (j == 1 || j == 4 || j == 7 || j == 10 || j == 13 || j == 16) cells[i, j].PutValue("累计完成"); if (j == 2 || j == 5 || j == 8 || j == 11 || j == 14 || j == 17) cells[i, j].PutValue("目标"); if (j == 3 || j == 6 || j == 9 || j == 12 || j == 15 || j == 18) cells[i, j].PutValue("完成率"); //if (j == 13) // cells[i, j].PutValue("季度"); } cells[i, j].SetStyle(style); } cells.SetRowHeight(i, 30); } //Merge(cells, 3); cells.Merge(0, 0, 3, 1); cells.Merge(0, 19, 3, 1); cells.Merge(0, 1, 1, 6); cells.Merge(0, 7, 1, 12); cells.Merge(1, 1, 1, 3); cells.Merge(1, 4, 1, 3); cells.Merge(1, 7, 1, 3); cells.Merge(1, 10, 1, 3); cells.Merge(1, 13, 1, 3); cells.Merge(1, 16, 1, 3); for (int i = 3; i < htblResult.Rows.Count; i++) { for (int j = 0; j < htblResult.Rows[i].Cells.Count; j++) { cells[i, j].PutValue(htblResult.Rows[i].Cells[j].InnerText); style = workbook.Styles[workbook.Styles.Add()]; style.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin; style.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; style.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin; style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin; cells[i, j].SetStyle(style); cells.SetColumnWidth(j, 10); } cells.SetRowHeight(i, 20); } Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("共享资源获取应用率统计.xls")); workbook.Save(Response.OutputStream, FileFormatType.Excel97To2003); Response.End();