昨天新增工作表时忽略了一个问题,那就是当你所建的表已经存在时程序就报错了,所以这里我们先获取sheet工作表明细,然后进行比对,当没有时创建,有则跳过。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using System.Diagnostics;
using System.Reflection;
namespace ConsoleApplication3
{
class EditExcel
{
#region 获取Excel工作表
/// <summary>
/// 获取Excel工作表
/// </summary>
/// <param name="ExcelName"></param>
public void compute(string ExcelName)
{
List<string> sheets = new List<string>(); //存储Excel中的sheet工作表
Application App = new Application(); //创建 Excel对象
object missing = Missing.Value; //获取缺少的object类型值
Workbook openwb = App.Workbooks.Open(ExcelName, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); //打开指定的Excel文件
Worksheet newsheet = (Worksheet)openwb.Worksheets.Add(missing, missing, 1, missing); //添加新的Excel工作表
for (int i = 1; i < openwb.Worksheets.Count; i++) //循环sheet工作表
{
string sheet =( (Worksheet)openwb.Worksheets[i]).Name;
Console.WriteLine(sheet); //打印sheets列表
sheets.Add(sheet); //将Excel工作表存入sheets数组中
}
Console.ReadLine();
}
#endregion
}
}