C#导出数据表为Excel文件
2017-01-10 17:46
288 查看
博文以导出Access数据库中的数据表为例,只要修改一下同样可以用于SQL Server数据库。
string filePath = "F:\\Book.xls";
string OleDbConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = .\\Data\\Student.accdb;Jet OLEDB:Database Password = 123456";
OleDbConnection cnn = new OleDbConnection(OleDbConnectionString);
cnn.Open();
OleDbCommand cmd = new OleDbCommand("select count(*) from [Books]", cnn);
int num = (int)(cmd.ExecuteScalar());
//如果数据项的个数大于一个sheet表的最大行数,则拆分保存在多个sheet表中
if (num <= 65535)
{
// [Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$
// Excel 2003的sheet表最大行数65536,最大列数256。因为列头要占据一行,所以最多存储65535条数据
cmd = new OleDbCommand("select top 65535 ISBN as ISBN, Title as 书名, Author as 作者, RegisterTime as 登记时间 into [Excel 8.0;database=" + filePath + "].[书籍表] from Books order by RegisterTime desc", cnn);
cmd.ExecuteNonQuery();
}
else
{
int num2 = num, i = 1;
while (num2 > 0)
{
cmd = new OleDbCommand("select top 65535 * into [Excel 8.0;database=" + filePath + "].[书籍表" + i + "] from (select top " + num2 + " ISBN as ISBN, Title as 书名, Author as 作者, RegisterTime as 登记时间 from Books order by RegisterTime) order by 登记时间 desc", cnn);
cmd.ExecuteNonQuery();
num2 -= 65535;
i++;
}
}
cmd.Dispose();
cnn.Close();
cnn.Dispose();
string filePath = "F:\\Book.xls";
string OleDbConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = .\\Data\\Student.accdb;Jet OLEDB:Database Password = 123456";
OleDbConnection cnn = new OleDbConnection(OleDbConnectionString);
cnn.Open();
OleDbCommand cmd = new OleDbCommand("select count(*) from [Books]", cnn);
int num = (int)(cmd.ExecuteScalar());
//如果数据项的个数大于一个sheet表的最大行数,则拆分保存在多个sheet表中
if (num <= 65535)
{
// [Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$
// Excel 2003的sheet表最大行数65536,最大列数256。因为列头要占据一行,所以最多存储65535条数据
cmd = new OleDbCommand("select top 65535 ISBN as ISBN, Title as 书名, Author as 作者, RegisterTime as 登记时间 into [Excel 8.0;database=" + filePath + "].[书籍表] from Books order by RegisterTime desc", cnn);
cmd.ExecuteNonQuery();
}
else
{
int num2 = num, i = 1;
while (num2 > 0)
{
cmd = new OleDbCommand("select top 65535 * into [Excel 8.0;database=" + filePath + "].[书籍表" + i + "] from (select top " + num2 + " ISBN as ISBN, Title as 书名, Author as 作者, RegisterTime as 登记时间 from Books order by RegisterTime) order by 登记时间 desc", cnn);
cmd.ExecuteNonQuery();
num2 -= 65535;
i++;
}
}
cmd.Dispose();
cnn.Close();
cnn.Dispose();
相关文章推荐
- c# 代码创建Excel文件 并且 将数据导出Excel
- c# 代码创建Excel文件 并且 将数据导出Excel
- SQL2000数据库表中的数据导出到Excel文件的C#源碼.
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
- C#创建Excel文件并将数据导出到Excel文件
- C# win form 中 将数据导出为简单Excel文件
- C#导出数据到Excel文件的方法
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
- C# web 把dataSet数据导出为Excel文件
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
- SQL2000数据库表中的数据导出到Excel文件的C#源碼.
- C#创建Excel文件并将数据导出到Excel文件
- C#导出数据到Excel文件
- c#中将数据集导出为excel文件
- 导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件
- 将页面数据导出到excel文件
- C#将数据导出到Excel汇总
- C#导出数据到Excel中方法总结
- 在使用中文名导出数据到excel文件时文件名出现乱码的解决办法
- C# 将数据导出到Execl汇总