各位大俠下午好:  
   
  小弟在把多個由水晶報表導出的excel文件合并到一個excel文件的時候發現有一下問題:  
   
  圖片和表格重疊在一起,也就是說報表的圖形遮住了表格文字。如果我分別創建幾個excel文件,每個文件里都有圖片和文字。用同樣的方法(代碼如下)卻沒有問題(圖片和文字是分開的)。請問各位大哥該如何解決這一問題。多謝!!!  
   
   
  private   void   MergeExcelFiles(string   fileName,   System.Collections.ArrayList    
  files)  
  {  
  Excel.Application   exlApp   =   new   Excel.ApplicationClass();  
   
  exlApp.Application.SheetsInNewWorkbook   =   1;  
  Excel.Workbook   excelWorkBook   =    
  exlApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);  
  excelWorkBook   =   exlApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);  
  Excel.Worksheet   excelWorkSheet   =    
  (Excel.Worksheet)excelWorkBook.ActiveSheet;  
  excelWorkBook.Saved   =   true;  
  excelWorkBook.SaveCopyAs(fileName);  
  excelWorkBook.Close(null,   null,   null);  
  excelWorkBook   =   null;  
  excelWorkSheet   =   null;  
   
  exlApp.Application.Visible   =   false;  
  exlApp.Application.AlertBeforeOverwriting   =   false;  
   
  object   missing   =   System.Reflection.Missing.Value;  
  Excel.Workbook   wkBookDest;  
  Excel.Workbook   wkBookOrign;  
   
  try  
  {  
  wkBookDest   =   exlApp.Workbooks.Open(fileName,    
  missing,   false,   missing,   missing,   missing,  
  missing,missing,   missing,true,   missing,  
  missing,   missing,   missing,   missing);  
   
   
  for(int   i=0;   i<   files.Count;   i++)  
  {  
   
  string   OrignfileName   =   files[i].ToString();  
   
  wkBookOrign   =   exlApp.Workbooks.Open(OrignfileName,  
  missing,   true,   missing,   missing,   missing,  
  missing,   missing,   missing,   false,   missing,    
  missing,   missing,   missing,   missing);  
   
   
  int   nOrignSheetsCount   =   wkBookOrign.Worksheets.Count;  
  int   nDestSheetsCount   =   wkBookDest.Worksheets.Count;  
   
  Excel.Worksheet   wkSheetDest;  
   
  wkSheetDest   =   wkBookDest.Worksheets.Add(missing,    
  wkBookDest.Worksheets[nDestSheetsCount],    
  nOrignSheetsCount,    
  Excel.XlSheetType.xlWorksheet)   as   Excel.Worksheet;  
   
   
  for(int   j=1;   j<=   nOrignSheetsCount;   j++)  
  {  
  Excel.Worksheet   wkSheetOrign   =   wkBookOrign.Worksheets[j]   as    
  Excel.Worksheet;  
   
  wkSheetDest   =   wkBookDest.Worksheets[nDestSheetsCount   +   j]   as    
  Excel.Worksheet;  
  wkSheetDest.Activate();  
  wkSheetDest.Name   =   GetSheetName(OrignfileName);  
  Excel.Range   range   =    
  wkSheetOrign.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell,   missing);  
   
  int   nRow   =   range.Row;  
  int   nColumn   =   range.Column;  
   
  Excel.Range   rngOrign   =    
  wkSheetOrign.get_Range(wkSheetOrign.Cells[1,1],wkSheetOrign.Cells[nRow,    
  nColumn]);  
   
  Excel.Range   rngDest   =   wkSheetDest.get_Range(wkSheetDest.Cells[1,1],    
  wkSheetDest.Cells[nRow,   nColumn]);  
   
  rngOrign.Copy(missing);  
  wkSheetDest.Paste(rngDest,   missing);  
  wkBookDest.Save();  
  }  
  wkBookOrign.Close(false,   null,   null);  
  }  
   
  Excel.Worksheet   temp   =   (Excel.Worksheet)(wkBookDest.Worksheets[1]);  
  temp.Delete();  
  temp   =   null;  
   
  wkBookDest.Save();  
  wkBookDest.Close(null,   null,   null);  
  }  
  catch(Exception   ex)  
  {  
  CommonModule.Functions.ShowErrorMessageBox(ex.Message,   "保存錯誤");  
  }  
  finally  
  {  
  wkBookDest   =   null;  
  wkBookOrign   =   null;  
  exlApp.Quit();  
  exlApp   =   null;  
   
  GC.Collect();  
  }  
   
  CommonModule.Functions.DeleteTempFiles();  
  }  
  private   string   GetSheetName(string   fullName)  
  {  
  string   fileName   =   new   System.IO.FileInfo(fullName).Name;  
  int   index   =   fileName.IndexOf(".");  
  string   sheetName   =   fileName.Substring(0,   index);  
  return   sheetName;  
  }   
   

转载于:https://www.cnblogs.com/twttafku/archive/2008/01/09/1031942.html

多個excel文件合并到一個excel文件相关推荐

  1. excel几个表合成一张_如何将几个excel文件合并_多个excel表合并成一个的方法

    Excel表格是我们在工作中经常用到的一个软件,是汇总数据的好帮手,一些用户会问,那应该怎么把很多个excel表格合并在一张表里面呢?其实方法很简单,今天小编就教大家多个excel表合并成一个的方法. ...

  2. python实现pdf文件合并,多个pdf文件合并,pdf文件叠加

    不多说,直接上代码: # -*- coding:utf-8*-# 请拉到最底下,修改这两个变量 # 请修改需要合并的文件的文件夹路径:file_dir # 请修改输出文件名: outfileimpor ...

  3. java 多个pdf文件合并,解决删除提示文件被占用

    多个pdf文件合并成一个pdf文件.生成过后怎么也删除不了,估计有使用到的流没关闭,手动在文件夹中也无法删除,提示文件正在被占用,但是怎么查找代码也不知道哪里的流没关闭. 最后在循环中发现了new P ...

  4. Excel工具 - 合并多个同类Excel

    一.功能概要: 日常工作中我们会因为各种制约因素的原因,需要将多个同类型的Excel合并,这些Excel有相同的标题,相同的字段,相同的列,但需要将多个Excel中的内容续在一起,形成一个Excel文 ...

  5. 一、多个txt文件合并成1个txt文件

    项目场景: 主要完成OCR训练前,dataset需要加载的lmdb格式的文件. 问题描述: 直接上代码,一看就明白: #@Overrideimport osdef Combine_txt():dirp ...

  6. 如何将多个excel文件合并成一个

    最近遇到需要将多个xls文件合并到一个新的xls文件内,每个xls文件对应新xls文件的一个sheet.考虑到以后可能会经常用到这个合并操作,故写了一个脚本,解放双手. 具体代码如下: 导入库 imp ...

  7. excel合并多个工作表_快速将多个Excel表格合并成一个Excel表格

    之前在微信群内有朋友问我如何快速将多个Excel表格合并成一个Excel表格,当时没有讲解清楚,今天专门来告诉大家如何快速合并Excel表格到一个工作表中. 在合并表格中,不外乎以下两种情况: 将多个 ...

  8. 如何把两个文件合并成pdf文件?

    怎么把两个文件合并?可在同一个项目中导入两个文件,然后再将两个文件另存为一个文件.pdf编辑器合并多个pdf的方法,建议使用文档转换功能,将多个pdf文件导入后合并为一个文件.接下来,我们使用ABBY ...

  9. SVN拉取和Excel冲突合并

    综述 SVN拉取原先是版本管理的一个功能,但遇到Excel文件的冲突就成为了一个阻碍工作的痛点.而程序化的Excel文件冲突合并就提上了开发日程. 本文将要阐述实现一键解决SVN拉取和Excel冲突合 ...

最新文章

  1. 黄聪:使用srvany.exe将任何程序作为Windows服务运行
  2. 在JSP中如何或得当前绝对路径
  3. RabbitMQ安装及PHP扩展安装(最后的代码可以测试连接是否成功)
  4. [转]总结使用Unity 3D优化游戏运行性能的经验
  5. DNN:DL讨论与DNN经典论文汇总
  6. WSS2.0 SP2升级到WSS3.0步骤
  7. JavaSE02、方法,递归迭代
  8. JDK和IDEA的安装(JDK11及以上版本自带JRE)
  9. wmware下linux安装vmware tools步骤
  10. 大数据时代的可扩展性数据库集群技术
  11. freeswitch 修改编码协商顺序 优先G729
  12. 【电子电路】ADC芯片如何选型
  13. Laravel 论坛系统之消息通知功能
  14. 阅读 git 最初版源码总结
  15. 研发流程:产品设计流程与文档规范
  16. HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列
  17. Where storage lives(From:Think in JAVA)
  18. 渗透测试——joker靶场漏洞复现
  19. matlab中elevation函数功能,Matlab的Demcmap的Python等价物(elevation+/appropriate colormap)...
  20. Android实现了豆瓣FM的首页效果

热门文章

  1. qt之键盘的设计及QlineEdit内容读取
  2. maven java archetype_使用Maven Archetype创建Java项目模板
  3. 计算机毕业论文多久,计算机毕业论文
  4. hihoCoder #1384 : Genius ACM [枚举+倍增]
  5. JZOJ__Day 10:【普及模拟】【USACO】山峰暸望
  6. weblogic中设置数据源的注意点
  7. 2020南大计科考研实记(受难三跨)
  8. Keepalived 主备配置
  9. centos7 php7 httpd
  10. 在 Oracle 和 PHP 中使用 LOB