111,079
社区成员




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
using System.IO;
namespace ExcelToPic
{
class RangeToPic
{
/// <summary>
/// 复制指定区域到新工作簿
/// </summary>
/// <param name="filePath">源文件路径</param>
/// <param name="rangeAddress">指定区域Range</param> //比如要复制Range("A1:A12")则字符串为A1:A12
/// <returns>返回操作结果</returns>
public string CopyToNewWork(string filePath,string rangeAddress)
{
if (!File.Exists(filePath)) return "保存失败,源文件不存在!";
string content = Path.GetExtension(filePath); //获取文件的扩展名
if (content.ToLower()!=".xls"&&content.ToLower()!=".xlsx") return "保存失败,源文件不是excel文件";
Excel.Application excelApp = new Excel.Application();
excelApp.SheetsInNewWorkbook = 1; //设定新建工作簿当中默认一个工作表
Excel.Workbook wb = excelApp.Workbooks.Open(filePath); //打开源文件
Excel.Workbook wb1 = excelApp.Workbooks.Add(); //新建一个workbook对象
Excel.Worksheet ws = wb.Worksheets[1]; //获取源文件第一个工作表
Excel.Worksheet ws1 = wb1.Worksheets[1]; //获取新建工作簿当中第一个工作表
ws.Range[rangeAddress].Copy(ws1.Range["A1"]); //复制指定区域到新建工作簿A1开始单元格
string savePath = filePath.Substring(0,filePath.LastIndexOf("\\")+1)+ Path.GetFileNameWithoutExtension(filePath) + "New";
wb1.SaveAs(savePath,51);//保存新建工作簿
wb1.Close();
wb.Close(false);
excelApp.Quit();
return "保存成功,新文件路径为:" + savePath;
}
}
}