如何将 N个sheet的EXCEL拆分为N个EXCEL,保持内容样式不变。

百变猪娃娃 2015-04-19 04:48:10
一个EXCEL中有N个sheet,现在需要用C#代码,将其拆分为N个EXCEL,每个EXCEL只有一个sheet。
要求保持内容样式不变,怎么做啊?
搞了很久了都没搞定。
拜托大家啦。
...全文
227 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿良良木月火 2015-04-19
  • 打赏
  • 举报
回复
谢谢楼主分享
百变猪娃娃 2015-04-19
  • 打赏
  • 举报
回复
大家随便回答点什么,我要结贴给分了。
百变猪娃娃 2015-04-19
  • 打赏
  • 举报
回复
领导就是牛,问题解决了。代码如下,希望可以帮到后来人:

string excelpath = @"D:\xxx\xxx.xls";
            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
            //app.Visible = true;
            object missing = Type.Missing;

            Microsoft.Office.Interop.Excel.Workbook workBook = app.Workbooks.Open(excelpath, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
            try
            {
                if (workBook != null)
                {
                    for (int i = 1; i < workBook.Sheets.Count; i++)
                    {
                        Microsoft.Office.Interop.Excel.Worksheet _wSheets = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Worksheets[i];
                        Microsoft.Office.Interop.Excel.Workbook newBook = app.Workbooks.Add(missing);
                        Worksheet mySheet = newBook.Sheets[1] as Worksheet;
                        try
                        {
                            string filename = @"D:\temp\" + _wSheets.Name + ".xls";
                            if (File.Exists(filename))
                            {
                                File.Delete(filename);
                            }
                            //mySheet.Name = _wSheets.Name;
                            _wSheets.Copy(mySheet, missing);
                            newBook.SaveAs(filename, missing
                                , missing, missing, missing, missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, missing
                                , missing, missing, missing, missing);
                        }
                        catch (Exception ex)
                        {

                        }
                        finally
                        {
                            _wSheets = null;
                            mySheet = null;
                            newBook.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {

            }
            finally
            {
                //newBook.Close();
                workBook.Close();
                app.Quit();
                app = null;
            }
《计算机应用基础》网上试题 LT 15、若希望将某个窗口的完整视图复制到剪帖板中去,可按( )键      A.Alt+PrintScreen    B.PrintScreen   C.Ctrl+C    D.Ctrl+X 16、在Windows中,关于对话框叙述不正确的是(    )   A.对话框没有最大化按钮    B.对话框没有最小化按钮   C.对话框的窗口大小不能改变 D.对话框不能移动 17、在word编辑状态下,先打开dl.doc文档,再打开d2.doc文档,则(    ) A、D1.doc文档窗口遮盖了D2.doc文档的窗口 B、打开了d2.doc文档的窗口,d1.doc文档的窗口被关闭 C、打开的d2.doc文档的窗口遮盖了d1.doc文档的窗口 D、两个窗口并列显示 18、在Word的编辑状态,使用格式工具栏中的字号按钮可以设定文字的大小,下列四个 字号中字符最大的是(    ) A.三号 B.小三 C.四号 D.小四 19、在Word的编辑状态,要想为当前文档中的文字设定上标、下标效果,应当使用"格式 "菜单中的(    ) A."字体"命令 B."段落"命令 C."分栏"命令 D."样式"命令 20、在文档中,打开"查找"对话框的快捷键是(    ) A.Ctrl+G B.Ctrl+H C.Ctrl+A D.Ctrl+F 21、给选中的字符设置斜体效果的快捷键是(    ) A.Ctrl+B B.Ctrl+I C.Ctrl+U D.Ctrl+D 22.下列是关于Word菜单的叙述,错误的是(    )    A.颜色暗淡的命令表示当前不能使用  B.带省略号的命令表示会打开一个对话框窗口  C.菜单栏中的菜单个数是可变化的  D.菜单中的内容(命令)是可变化的 23.在Word中,当前正编辑一个新建文档"文档1",当执行"文件"菜单中的"保存"命令后 (    )    A.该"文档1"被存盘  B.打开"另存为"对话框,供进一步操作  C.自动以"文档1"为名存盘  D.不能以"文档1"存盘 24.在Word中,Ctrl+A快捷键的作用,等效于用鼠标在文档选定区中(    )    A.单击一下  B.连击两下  C.连击三下  D.连击四下 25.在Word中,当前输入的文字被显示在(    )    A.文档的尾部   B.鼠标指针位置  C.插入点位置   D.当前行的行尾 26.在Word中,选中某段文字,连击两次"格式"工具栏中的斜体按钮,则(    )     A.该段文字呈左斜体格式  B.该段文字呈右斜体格式  C.这句话字符格式不变 D.产生错误信息 27. 在word编辑状态下,若要调整左边界,利用下列(    )更直接、快捷? A.工具栏 B.格式栏   C.菜单    D.标尺 28、首次进入Excel打开的第一个工作薄的名称默认为(    ) A.文档1 B、BOOK1 C、SHEET1 D、未命名 29.Excel中,运算公式的一般形式为(    )   A.=表达式   B.:表达式   C.>=表达式 D.=<表达式 30.在一个Excel工作表中,最多列的数据可以有(    ) A.256 B.3600 C.255 D.254 31.一个新建的Excel工作薄中,默认的工作表个数是(    ) A.5个 B.3个 C.255个 D.256个 32.在Excel中,对数据进行分类汇总,必须先对数据进行(    ) A.格式化 B.对分类字体进行排序 C.对数据进行筛选 D.可直接进行分类汇总 33.在Excel中,通过数据建立图表后,如数据变动后,则图表(    ) A.必须重新创建 B.原图表被破坏 C.图表会自动更新 D.不确定 34.Excel电子表格系统不具有的功能是(    )     A.数据库管理   B.自动编写摘要  C.图表   D.绘图 35.在Excel中,下列选项属于对单元格的绝对引用的是(    )     A.B3  B.%B#2  C.$B¥2  D.$B$2 36.Excel广泛应用于(    )    A.工业设计、机械制造、建筑工程  B.美术设计、装潢、图片制作  C.统计分析、财务管理分析、经济管理  D.多媒体制作 37、PowerPoint演示文稿的默认文件类型为(    ) A、DOC B、PPS C、PPT D、XLS 38、PowerPoint的主要功能是(    ) A、制作放映动态GIF图象 B、制作放映电子幻灯片文稿 C、对数据进行统计运算 D、制作WEB网页 39.如果要更改幻灯片切换效果,则应该选择幻灯片放映菜单下的(    ) A." 幻灯片切换 " 选项 B. " 自定义放映" 选项 C. " 预设动画
本系统是在Windows XP系统和MapGis6.7(B20051118)基础上,以Microsoft VC++ 6.0为编程语言,MapGis 6.7 SDK为开发平台进行开发的地质图件制作软件。系统基于MapGis输入编辑子系统强大的图形编辑能力,添加专业的地质图件制作工具,大大提高了地质图件的制作效率,能够很完美的转换CAD数据格式为MapGis格式。地质数据采集系统采用Microsoft Access的MDB格式,自动计算绘制符合行业标准的MapGis格式地质图件。 本软件完全免费使用。在使用过程中,如果是本软件的缺陷造成你的损失,本人不承担任何责任。一旦开始使用,视为你同意。 本软件可以自由复制传播,但不可用于商业用途。 操作演示请切换到“操作视频”帮助页面,网上下载高清有声视频。 现Section版本具有的主要功能模块: 1、绘制剖面图功能; 2、绘制柱状图功能; 3、辅助工具Ⅰ和辅助工具Ⅱ(CAD转MapGis文件); 4、其他功能(暂时未归类功能)。 编辑本段Section快捷键对照表 Ctrl+A 选择相同图元功能 B 选择区 Ctrl +C 复制图元功能 C 选择点 Ctrl +V 粘贴图元功能 N 选择弧段 Ctrl +X 剪切图元功能 V 选择线 Ctrl +Z 后悔操作 X 选择子图 Shift+Z 选多类型图元功能 Z 选择文本 Shift +C 超级拷贝功能 E 扩展工具箱 Shift +V 超级粘贴功能 T 系统工具箱 F2 正交功能 Del 删除选择图元 Tab 全屏功能 空格键 捕捉功能 → 向右移动选择图元 ↑ 向上移动选择图元 ← 向左移动选择图元 ↓ 向下移动选择图元 Y 捕捉点图元 U 捕捉节点及端点 I(i) 捕捉交叉点 O 捕捉垂点 P 捕捉最近点 [ 捕捉中点 鼠标中键 按住可以移动图形 鼠标滚轮 放大缩小功能 双击鼠标中键 复原窗口功能 双击鼠标右键 取消所有操作,回到初始状态 (以上快捷键不区分大小写),其它快捷键与mapgis相同。 在编辑视图中,如果状态为准备状态,按住Ctrl右击,将弹出常用图元编辑快捷菜单;按住Shift右击,将弹出扩展功能快捷菜单。 编辑本段安装与卸载 系统要求 基础软件:MapGis软件。推荐MapGis 6.7版本Build051118。 系统支持:Section软件支持Microsoft Windows 的2000, XP, Vista和 7系列的操作系统。(32位,64位未测试)。 语言:支持中文,简体。 下载 进入地信网论坛和华夏土地网论坛下载最新版本的Section程序。 安装软件步骤 1)对于Section单个程序:把section.exe和section.chm等放入MapGis67\program目录内即可。 2)对于独立安装包:(相对于单个程序文件,还包含了先前的各种自定义配置文件) 第一步:双击运行安装程序Section2010.exe,打开安装向导页面开始安装Section软件; 第二步:仔细阅读“许可协议”,点击“同意”,继续下一步安装,否则点击“取消”,退出软件安装; 第三步:仔细阅读“信息”,阅读软件重要信息,点击“下一步”,继续下一步安装,否则点击“取消”,退出软件安装; 第四步:选择安装路径:默认情况下,软件安装在系统的C:\MapGis67\program目录下,单击“浏览”可更改路径;注意非默认位置时,目录只要指向program的上级目录,即mapgis67。 第五步:请“选择组件”,有完全安装,简洁安装和自定义安装3种供选择。点击“下一步”,继续下一步安装; 第六步:在开始菜单文件夹中创建程序的文件夹名称。点击“下一步”,继续下一步安装; 第七步:选择附加任务:创建桌面快捷方式和快捷启动栏快捷方式,以及Section关联MapGis文件等。勾选所需选项,点击“下一步”,开始准备安装; 第八步:点击“安装”。直至最后,不想在安装完成后运行Section程序请去勾,点击完成。 卸载 1)对于非安装包:把section.exe程序和section.chm等文件删除即可。 2)对于独立安装包:打开控制面板,进入添加/删除程序(Win7的为程序和功能)找到Section卸载项目,双击“Section卸载”或者右键菜单中的卸载。 FAQ: 1、 双击section.exe后出现 “无法启动此程序,因计算机丢失basroot.dll……”的提示,程序不能使用? 答:没有在mapgis环境下缺少基本组件和动态链接库,运行程序会出现此提示,把section.exe放入MapGis67\program目录内即可。 0327d正式版0612 软件更新日志 1、修正不能删除角度花纹有残留的Bu

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧