1、将数据写入HTTP输出流/这样子导出以后的数据全在一行中

public void CreateExcel(DataSet ds, string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = ""; //定义表对象与行对象,同时用DataSet对其值进行初始化
DataTable dt = ds.Tables[];
DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = ;
int cl = dt.Columns.Count; //取得数据表各列标题,各标题之间以/t分割,最后一个列标题后加回车符
for (i = ; i < cl; i++)
{
if (i == (cl - ))//最后一列,加/n
{
colHeaders += dt.Columns[i].Caption.ToString() + "/n";
}
else
{
colHeaders += dt.Columns[i].Caption.ToString() + "/t";
} }
resp.Write(colHeaders);
//向HTTP输出流中写入取得的数据信息 //逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = ; i < cl; i++)
{
if (i == (cl - ))//最后一列,加/n
{
ls_item += row[i].ToString() + "/n";
}
else
{
ls_item += row[i].ToString() + "/t";
} }
resp.Write(ls_item);
ls_item = ""; }
resp.End();
}

2、打开一个excel将数据逐行写入

需要添加两个com引用

Microsoft Office 15.0 Object Library

Microsoft Excel 15.0 Object Library

public bool DataSetToExcel(DataSet dataSet, bool isShowExcle)
{
DataTable dataTable = dataSet.Tables[];
int rowNumber = dataTable.Rows.Count;
int columnNumber = dataTable.Columns.Count;
if (rowNumber == )
{
//MessageBox.Show("没有任何数据可以导入到Excel文件!");
return false;
}
else
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;//是否打开该Excel文件
for (int c = ; c < rowNumber; c++)
{
for (int j = ; j < columnNumber; j++)
{
excel.Cells[c + , j + ] = dataTable.Rows[c].ItemArray[j];
}
}
return true;
}
}

dataset数据导出到Excel的更多相关文章

  1. DataSet数据导出为Excel文档(每个DataTable为一个Sheet)

    Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...

  2. C# 将dataset数据导出到excel中

    //添加引用 NPOI.dll //添加 using NPOI.HSSF.UserModel; /// <summary> /// 导出数据到Excel /// </summary& ...

  3. asp.net DataSet数据导出到Excel中

    方法: [STAThread]///这是必须的    public override void VerifyRenderingInServerForm(System.Web.UI.Control co ...

  4. C#将数据集DataSet中的数据导出到EXCEL文件的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  5. asp.net将数据导出到excel

    本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...

  6. 将datagrid中数据导出到excel中 -------<<工作日志2014-6-6>>

    前台datagrid数据绑定 #region 导出到excel中    /// <summary>    /// 2014-6-6    /// </summary>    / ...

  7. C#大量数据导出到Excel(转)

    工作过程中经常会用到将数据导出到Excel中,一般情况下需要导出的数据都是几百几千条或者上万条,这都没有什么问题,但有时候会遇到特殊的需求,客户要求把几十万条甚至上百万条的数据导出到Excel中,这就 ...

  8. tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)

    #tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', ...

  9. asp.net 将repeater上数据导出到excel

    1,首先得到一个DataTable public DataTable GetTable(string sql) { SqlConnnection con=new SqlConnection(Confi ...

随机推荐

  1. f.lux Ubuntu 下进行安装

    这几天在搞Ubuntu 看的是我眼睛特痛,于是查了一下,有Linux 版的f.lux 于是我就行了一番的安装. 步骤         命令行 1.             sudo add-apt-r ...

  2. 大神的---解决tomcat内存溢出问题----tomcat报错:This is very likely to create a memory leak问题解决

    tomcat memory leak解决方案 这种问题在开发中经常会碰到的,看看前辈的总结经验 Tomcat内存溢出的原因  在生产环境中tomcat内存设置不好很容易出现内存溢出.造成内存溢出是不一 ...

  3. PHP 数组中出现中文乱码,json_encode返回结果为null 或false

    想要解决这个问题,没有特别方便的方法,只有循环数组,将数组中的key和value字符串转码,转换为utf-8,即可解决问题. 代码示例:

  4. DataTable相关

    设置主键列:  this.tableTestData.PrimaryKey = new DataColumn[] { this.tableTestData.Columns[0] };

  5. spring与IOC,ioc与di的关系

  6. Unity Pitfall 汇总

    [Unity Pitfall 汇总] 1. 当脚本被绑定到一个对象时,一个类对象即会被创建,此意味着此类构造函数会被调用.所以在构造函数中不要调用任何运行时才创建的类.相应的初始化方代码应该移至Sta ...

  7. C++11之nullptr

    [C++11空指针] 1.NULL的问题 class Test { public: void TestWork(int index) { std::cout << "TestWo ...

  8. SpringBoot29 登录逻辑、登录状态判断

    1 知识点扫盲 浏览器和服务器之间时通过session来确定连接状态的,浏览器第一次请求时服务端会自动生成一个session,并将这个sessionId传回给浏览器,浏览器将这个sessionId存放 ...

  9. Jmeter线程ramp-up period (in seconds)如何取值

    线程组主要包含三个参数:线程数.准备时长(Ramp-Up Period(in seconds)).循环次数. 线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少 ...

  10. 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具

    认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...