惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
The GitHub Blog
The GitHub Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
量子位
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
T
Tailwind CSS Blog
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
G
Google Developers Blog
M
MIT News - Artificial intelligence

博客园 - seamanhy

Android Studio 安装说明 Google——Tracking Code, Map Api ASP.NET输出到Excel - seamanhy - 博客园 GridView中BoundField重复绑定数据 一个等待的小功能 MS SQL 区分大小写 盗链 防止盗链 防止图片盗链 HTML编辑器 免费编辑器 中文免费HTML编辑器 URLReWriter ASP.NET 页面跳转 伪静态页面 多参数 VBSCRIPT控制网页打印页眉和页脚 - seamanhy - 博客园 一个免费的天气预报WebService 常用正则表达式 - seamanhy - 博客园 推荐一个SQL分页函数 一些网站中经常使用的插件 PNG24在IE6中不正常显示的问题 Google拼音输入法字库分析程序 查看SQL Server 2000执行时间 SQL Server将字符串转换为多行 SQL Server将数据库中多行中的某个字段转换为字符串
DataSet导入到Excel文件
seamanhy · 2008-09-02 · via 博客园 - seamanhy

    /// <summary>
    
/// 将数据导入到Excel
    
/// </summary>
    
/// <param name="ds">
    
/// 需要生成Excel的数据源
    
/// DataSet->DataTable->TableName为页(Sheet)名字
    
/// DataTable->Column->ColumnName为列名
    
/// </param>
    
/// <param name="strFilenamePath">生成后文件保存的全路径</param>
    
/// <returns></returns>
    public bool ImportToExcel(DataSet ds, string strFilenamePath)
    {
        
if (ds.Tables.Count == 0)
            
return false;try
        {
            Microsoft.Office.Interop.Excel.ApplicationClass objApp 
= new Microsoft.Office.Interop.Excel.ApplicationClass();
            Microsoft.Office.Interop.Excel._Workbook objWorkbook;
//工作薄
            Microsoft.Office.Interop.Excel._Worksheet objWorksheet;//工作页
            objWorkbook = objApp.Workbooks.Add(true);object objMissing = System.Reflection.Missing.Value;#region 添加数据for (int i = 0; i < ds.Tables.Count; i++)
            {
                objWorksheet 
= (Microsoft.Office.Interop.Excel._Worksheet)objWorkbook.ActiveSheet;//书签名字为表名
                objWorksheet.Name = ds.Tables[i].TableName;//第一行显示表的列名
                for (int j = 0; j < ds.Tables[i].Columns.Count; j++)
                {
                    objApp.Cells[
1, j + 1= ds.Tables[i].Columns[j].ColumnName;
                }
//正文内容,从第二行开始
                for (int rows = 0; rows < ds.Tables[i].Rows.Count; rows++)
                {
                    
for (int cols = 0; cols < ds.Tables[i].Columns.Count; cols++)
                    {
                        objApp.Cells[rows 
+ 2, cols + 1= ds.Tables[i].Rows[rows][cols].ToString();
                    }
                }
if (i < ds.Tables.Count - 1)
                {
                    objApp.Sheets.Add(objMissing, objMissing, 
1, Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet);
                }
            }
#endregion

            objApp.Visible 

= true;//将Excel保存到指定路径
            objWorkbook.SaveAs(
                strFilenamePath, objMissing, objMissing, objMissing, objMissing,
                objMissing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, objMissing,
                objMissing, objMissing, objMissing, objMissing);

            objApp.Quit();

return true;
        }
        
catch (Exception ex)
        {
            
string strEXMessage = ex.Message;return false;
        }
    }

此方法是用Microsoft.Office.Interop.Excel.dll,需要引用该类,本程序所使用的是11.0.5530.0。