asp.net 将DataTable的数据导入到execl 模版填充数据,用户下载
展开全部
用NPOI来处理。
/// <summary>
/// 把Datatable中的数据保存成指定的Excel文件
/// </summary>
/// <param name="SourceTable"></param>
/// <param name="FileName"></param>
public static void RenderDataTableToExcel(DataTable SourceTable, string FileName)
{
HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream _ms = new MemoryStream();
// 创建Excel文件的Sheet
Sheet sheet = workbook.CreateSheet();
// 创建行
Row headerRow = sheet.CreateRow(0);
// 把Datatable中的列名添加Sheet中第一列中作为表头
foreach (DataColumn column in SourceTable.Columns)
headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// handling value.
int rowIndex = 1;
// 循环Datatable中的行和列添加数据到Excel中
foreach (DataRow row in SourceTable.Rows)
{
Row dataRow = sheet.CreateRow(rowIndex);
foreach (DataColumn column in SourceTable.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
rowIndex++;
}
try
{
workbook.Write(ms);
_ms.Flush();
_ms.Position = 0;
MemoryStream ms =_ms as MemoryStream;
FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
}
catch (Exception ex)
{
throw ex;
}
finally
{
fs.Flush();
fs.Close();
data = null;
ms = null;
fs = null;
}
}
/// <summary>
/// 把Datatable中的数据保存成指定的Excel文件
/// </summary>
/// <param name="SourceTable"></param>
/// <param name="FileName"></param>
public static void RenderDataTableToExcel(DataTable SourceTable, string FileName)
{
HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream _ms = new MemoryStream();
// 创建Excel文件的Sheet
Sheet sheet = workbook.CreateSheet();
// 创建行
Row headerRow = sheet.CreateRow(0);
// 把Datatable中的列名添加Sheet中第一列中作为表头
foreach (DataColumn column in SourceTable.Columns)
headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// handling value.
int rowIndex = 1;
// 循环Datatable中的行和列添加数据到Excel中
foreach (DataRow row in SourceTable.Rows)
{
Row dataRow = sheet.CreateRow(rowIndex);
foreach (DataColumn column in SourceTable.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
rowIndex++;
}
try
{
workbook.Write(ms);
_ms.Flush();
_ms.Position = 0;
MemoryStream ms =_ms as MemoryStream;
FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
}
catch (Exception ex)
{
throw ex;
}
finally
{
fs.Flush();
fs.Close();
data = null;
ms = null;
fs = null;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.IO.StreamWriter sw = new System.IO.StreamWriter(FileName, false, System.Text.Encoding.GetEncoding("GB2312"));
object[] values = new object[table.Columns.Count];
string headName = "";
for (int i = 0; i < table.Columns.Count; ++i)
{
sw.Write(table.Columns[i].Caption.ToString());
sw.Write('\t');
}
sw.Write("\r\n");
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < values.Length; j++)
{
headName = table.Rows[i][j].ToString().Trim();
sw.Write(headName);
sw.Write('\t');
}
sw.Write("\r\n");
}
sw.Flush();
sw.Close();
object[] values = new object[table.Columns.Count];
string headName = "";
for (int i = 0; i < table.Columns.Count; ++i)
{
sw.Write(table.Columns[i].Caption.ToString());
sw.Write('\t');
}
sw.Write("\r\n");
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < values.Length; j++)
{
headName = table.Rows[i][j].ToString().Trim();
sw.Write(headName);
sw.Write('\t');
}
sw.Write("\r\n");
}
sw.Flush();
sw.Close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有button的事情中添加insert 语句(前题是你已经连接好数据库)。
.net日期格式转换2008年12月12日 星期五 15:24DateTime dt = DateTime.Now;
dt.ToString();//2005-11-5 13:21:25
dt.ToFileTime().ToString();//127756416859912816
dt.ToFileTimeUtc().ToString();//127756704859912816
dt.ToLocalTime().ToString();//2005-11-5 21:21:25
dt.ToLongDateString().ToString();//2005年11月5日
dt.ToLongTimeString().ToString();//13:21:25
.net日期格式转换2008年12月12日 星期五 15:24DateTime dt = DateTime.Now;
dt.ToString();//2005-11-5 13:21:25
dt.ToFileTime().ToString();//127756416859912816
dt.ToFileTimeUtc().ToString();//127756704859912816
dt.ToLocalTime().ToString();//2005-11-5 21:21:25
dt.ToLongDateString().ToString();//2005年11月5日
dt.ToLongTimeString().ToString();//13:21:25
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++ builder怎么把数据导入execl模版???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询