首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • C# 如何操作excel多个工作表? [已结贴,结贴人:loveminyi]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 17:16:46 楼主
    例如有SHEET1,SHEET2,SHEET3,先向SHEET1添加数据,然后再向SHEET2添回数据,这样应该怎样做了
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 17:26:191楼 得分:0
    把excel当作一个数据库 SHEET1,SHEET2,SHEET3 当作数据库中的数据表
    用数据库组件操作
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 17:33:202楼 得分:0
    不懂得什么是数据库组件??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 19:50:013楼 得分:5
            myExcel = New Excel.ApplicationClass
            myBook = myExcel.Workbooks.Add(Type.Missing)
            mySheet1 = CType(myBook.Sheets(1), Excel.Worksheet)
            mySheet2 = CType(myBook.Sheets(2), Excel.Worksheet)
            mySheet3 = CType(myBook.Sheets(3), Excel.Worksheet)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 22:35:134楼 得分:5
    添加数据前先用
      你想添加数据的表.Activate();

      //向mySheet1添加数据
      mySheet1.Activate();
        ....    //向添加数据

      //向mySheet2添加数据
      mySheet2.Activate();
      ......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-14 23:09:245楼 得分:5
      /// <summary>
                    /// 读取Excel文档
                    /// </summary>
                    /// <param name="Path">文件名称 </param>
                    /// <returns>返回一个数据集 </returns>
                    /*下代码是循环读取工作溥表的名称,如果使用第一个,[]下标为1,第二个为2,如果把整个工作溥都读取,就用循环*/
                    object missing = Missing.Value;
                    Excel.Application excelApp = new Excel.Application();
                    excelApp.Workbooks.Open(path, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                    //  for (int i = 0; i < excelApp.Workbooks[1].Worksheets.Count; i++)
                    //  {
                    //  Excel.Worksheet ws = (Excel.Worksheet)excelApp.Workbooks[1].Worksheets[i + 1];
                    Excel.Worksheet ws = (Excel.Worksheet)excelApp.Workbooks[1].Worksheets[1];
                    string sheetName = ws.Name;
                    // } 


    上面代码就是的,我项目没用到,注掉的就是循环读取的。有多少表读多少,很好用。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-15 08:51:196楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-15 09:33:067楼 得分:0
    得调用Office COM组件
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-15 14:25:498楼 得分:5
      Workbook book = new Workbook();
                // Specify which Sheet should be opened and the size of window by default
                book.ExcelWorkbook.ActiveSheetIndex = 1;
                book.ExcelWorkbook.WindowTopX = 100;
                book.ExcelWorkbook.WindowTopY = 200;
                book.ExcelWorkbook.WindowHeight = 7000;
                book.ExcelWorkbook.WindowWidth = 8000;

                // Some optional properties of the Document
                book.Properties.Author = "CarlosAg";
                book.Properties.Title = "My Document";
                book.Properties.Created = DateTime.Now;
    //下面的东西可以放在一个循环里面,你想导多少个SHEET 就可以循环多少次,
    Worksheet sheet = book.Worksheets.Add(StoreName);
    sheet.Table.Columns.Add(new WorksheetColumn(150));
    sheet.Table.Columns.Add(new WorksheetColumn(100));
    WorksheetRow row = sheet.Table.Rows.Add();
    WorksheetCell cell = new WorksheetCell();
    ///

    #region 发送下载页面
                string fileName = "aaa";
                book.Save(Response.OutputStream);
                Response.AppendHeader("Content-Disposition", "Attachment; FileName=" +
                    HttpUtility.UrlEncode(fileName, Encoding.UTF8) + ".xls;");
                Response.ContentEncoding = System.Text.Encoding.UTF8;
                Response.Charset = "UTF-8";
                Response.Flush();
                Response.End();
                #endregion
    //这段代码好处 就是不需要用到OFFICE的 EXCEL组建,就是不装EXCEL 也可以照样倒出来,不过要添加一个第三方控件
    名字是:
    CarlosAg.ExcelXmlWriter.dll这个上网应该可以找到。
    再添加个引用:using CarlosAg.ExcelXmlWriter;
    就可以了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved