单元格A | 单元格A | 单元格A | 单元格A |
单元格合并行A |
单元格B | 单元格B | 单元格B | 单元格B |
单元格合并行B |
用stringbuilder拼接的也就是说,是用字符组成的表格,这并不是真正意义上的表格。
要实现导出EXCEL的话比较麻烦,给你讲一下解题思路吧,具体代码自己实现。
1、将字符串通过自定函数格式化成一定的规律(这一步更简单的办法,前提是你有操作数据库的权限。直接从数据库里获取生成该报表的数据,就不需要另外格式化这么麻烦了)
2、将格式化后的字符串写入execl表并保存到服务器(因为程序只能操作服务器空间)
3、如果需要保存的位置是本地磁盘,打开刚才生成的execl表的路径,提示保存。
直接在visual studio里切换成视图的页面,选择表格复制黏贴到excel就可以了
参考一下这个,哈哈
http://www.php100.com/html/webkaifa/javascript/2009/0418/1528.html
asp.net中导出数据到excel如下:
参考示例:
public void NpoiExcel(DataTable dt, string title)
{
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("Sheet1");
NPOI.SS.UserModel.IRow headerrow = sheet.CreateRow(0);
ICellStyle style = book.CreateCellStyle();
style.Alignment = HorizontalAlignment.Center;
style.VerticalAlignment = VerticalAlignment.Center;
for (int i = 0; i < dt.Columns.Count; i++)
{
ICell cell = headerrow.CreateCell(i);
cell.CellStyle = style;
cell.SetCellValue(dt.Columns[i].ColumnName);
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", HttpUtility.UrlEncode(title + "_" + DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8)));
Response.BinaryWrite(ms.ToArray());
Response.End();
book = null;
ms.Close();
ms.Dispose();
}