private IWorkbook Export(DataTable data, Model.ColumnModel colModel) { colModel.ThrowIfNull(""); var book = new HSSFWorkbook(); ISheet sheet = book.CreateSheet(data.TableName ?? "Sheet1"); #region 生成表头 var dataColumns = base.ProcessHeader(colModel); CreateHeader(book, sheet, colModel); #endregion #region 生成数据行 var rownum = colModel.Count; var cellstyles = GetColumnStyles(book, dataColumns); foreach (DataRow row in data.Rows) { IRow dataRow = sheet.CreateRow(rownum++); foreach (var col in dataColumns) { var cell = dataRow.CreateCell(col.X); cell.CellStyle = cellstyles[col.X]; cell.SetCellValue(row[col.Field].ToString()); } } #endregion return(book); }
private string Export(IEnumerable data, Model.ColumnModel colModel) { colModel.ThrowIfNull(""); var table = new StringBuilder(); table.Append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>"); table.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">"); #region 生成表头 var dataColumns = base.ProcessHeader(colModel); CreateHeader(table, colModel); #endregion #region 生成数据行 PropertyInfo[] pis = null; foreach (object row in data) { if (pis == null) { pis = row.GetType().GetProperties(); } table.Append("<tr>"); foreach (var col in dataColumns) { var pi = pis.FirstOrDefault(p => p.Name == col.Field); if (pi != null) { var value = pi.GetValue(row, null); table.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@;text-align:{1}\">{0}</td>", value, col.Alignment.ToString().ToLower()); } } table.Append("</tr>"); } #endregion table.Append("</table></body></html>"); return(table.ToString()); }
private IWorkbook Export(IEnumerable data, Model.ColumnModel colModel) { colModel.ThrowIfNull(""); var book = new HSSFWorkbook(); ISheet sheet = book.CreateSheet("Sheet1"); #region 生成表头 var dataColumns = base.ProcessHeader(colModel); CreateHeader(book, sheet, colModel); #endregion #region 生成数据行 var rownum = colModel.Count; var cellstyles = GetColumnStyles(book, dataColumns); PropertyInfo[] pis = null; foreach (var row in data) { if (pis == null) { pis = row.GetType().GetProperties(); } IRow dataRow = sheet.CreateRow(rownum++); foreach (var col in dataColumns) { var pi = pis.FirstOrDefault(p => p.Name == col.Field); if (pi != null) { var cell = dataRow.CreateCell(col.X); cell.CellStyle = cellstyles[col.X]; cell.SetCellValue(pi.GetValue(row, null).ToString()); } } } #endregion return(book); }
private string Export(DataTable data, Model.ColumnModel colModel) { colModel.ThrowIfNull(""); var table = new StringBuilder(); table.Append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>"); table.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">"); #region 生成表头 var dataColumns = base.ProcessHeader(colModel); CreateHeader(table, colModel); #endregion #region 生成数据行 foreach (DataRow row in data.Rows) { table.Append("<tr>"); foreach (var col in dataColumns) { if (col.Alignment == Model.HorizontalAlignment.General) { table.AppendFormat("<td>{0}</td>", row[col.Field]); } else { table.AppendFormat("<td style=\"text-align:{1}\">{0}</td>", row[col.Field], col.Alignment.ToString().ToLower()); } } table.Append("</tr>"); } #endregion table.Append("</table></body></html>"); return(table.ToString()); }