Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }