1.在项目中引用Microsoft Excel 12.0 Object Lib这个COM组件,如图所示。
2. 在命名空间中添加引用,完整的引用如图所示。
3.打开、关闭Excel文件
//EXCEL所存储的路径
string fileName = @"C:\Users\Administrator\Desktop\测试.xls";
//新建一个应用程序EXC1
MSword.Application EXC1 = new MSword.Application();
EXC1.Visible = true;//设置EXC1打开后可见
MSword.Workbooks wbs = EXC1.Workbooks;
MSword._Workbook wb = wbs.Add(fileName);//打开并显示EXCEL文件
wb.Close();//关闭文档
wbs.Close();//关闭工作簿
EXC1.Quit();//关闭EXCEL应用程序
//释放EXCEL应用程序的进程
System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
4. 获取工作表
一个Excel文档中,通常会有多张工作表,通过一些基本的命令,可以获取某张工作表的名称,行数等.
首先,获取工作表应在关闭文档之前,所以,我们先将第3步骤中的关闭文档及后面的代码注释掉,然后再写入对工作表进行操作的代码,如下面代码所示。
//EXCEL所存储的路径
string fileName = @"C:\Users\Administrator\Desktop\测试.xls";
//新建一个应用程序EXC1
MSword.Application EXC1 = new MSword.Application();
EXC1.Visible = true;//设置EXC1打开后可见
MSword.Workbooks wbs = EXC1.Workbooks;
MSword._Workbook wb = wbs.Add(fileName);//打开并显示EXCEL文件
MSword._Worksheet Exsheet;//定义一个新的工作表
Exsheet = wb.Sheets[1];//获取Excel文件中的第一张工作表
string sName = Exsheet.Name;//将工作表名称,存入一个字符串变量进行记录
int sRowcount = Exsheet.Rows.Count;//将工作表行数,存入一个整型变量进行记录
//同样可以通过 Exsheet = wb.Sheets[2]进行操作
Exsheet.Activate();//激活工作表
//wb.Close();//关闭文档
//wbs.Close();//关闭工作簿
//EXC1.Quit();//关闭EXCEL应用程序
////释放EXCEL应用程序的进程
//System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
5. 删除工作表
如下面的代码所示,在激活工作表1后,获取工作表3,然后对工作表三进行删除操作。
//EXCEL所存储的路径
string fileName = @"C:\Users\Administrator\Desktop\测试.xls";
//新建一个应用程序EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//设置EXC1打开后可见
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打开并显示EXCEL文件
MyExcel._Worksheet Exsheet;//定义一个新的工作表
Exsheet = wb.Sheets[1];//获取Excel文件中的第一张工作表
string sName = Exsheet.Name;//将工作表名称,存入一个字符串变量进行记录
int sRowcount = Exsheet.Rows.Count;//将工作表行数,存入一个整型变量进行记录
//同样可以通过 Exsheet = wb.Sheets[2]进行操作
Exsheet.Activate();//激活工作表
MyExcel.Sheets dd = wb.Sheets;//获取工作表
Exsheet = (MyExcel.Worksheet)dd.get_Item(3);
EXC1.DisplayAlerts = false;
Exsheet.Delete();//删除第三张工作表
wb.Save();
//wb.Close();//关闭文档
//wbs.Close();//关闭工作簿
//EXC1.Quit();//关闭EXCEL应用程序
////释放EXCEL应用程序的进程
//System.Runtime.InteropServices.Marshal.ReleaseComObject(EXC1);
6. 对EXCEl工作表的行列进行操作
//EXCEL所存储的路径
string fileName = @"C:\Users\Administrator\Desktop\测试.xls";
//新建一个应用程序EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//设置EXC1打开后可见
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打开并显示EXCEL文件
object Nothing = Missing.Value;
MyExcel._Worksheet Exsheet;//定义一个新的工作表
Exsheet = wb.Sheets[1];//获取Excel文件中的第一张工作表
string sName = Exsheet.Name;//将工作表名称,存入一个字符串变量进行记录
int sRowcount = Exsheet.Rows.Count;//将工作表行数,存入一个整型变量进行记录
//同样可以通过 Exsheet = wb.Sheets[2]进行操作
Exsheet.Activate();//激活工作表
//删除工作表第一行
((MyExcel.Range)Exsheet.Rows[1, Nothing]).Delete(MyExcel.XlDeleteShiftDirection.xlShiftUp);
//删除工作表第二列
((MyExcel.Range)Exsheet.Cells[Exsheet.Rows.Count, 2]).Delete(MyExcel.XlDeleteShiftDirection.xlShiftToLeft);
((MyExcel.Range)Exsheet.Rows[3, Missing.Value]).RowHeight = 5;//设置行高
((MyExcel.Range)Exsheet.Rows[3, Missing.Value]).ColumnWidth = 5;//设置列宽
7. 对EXCEL文档中的单元格进行操作
#region 打开EXCEL文件模块
//EXCEL所存储的路径
string fileName = @"C:\Users\Administrator\Desktop\测试.xls";
//新建一个应用程序EXC1
MyExcel.Application EXC1 = new MyExcel.Application();
EXC1.Visible = true;//设置EXC1打开后可见
MyExcel.Workbooks wbs = EXC1.Workbooks;
MyExcel._Workbook wb = wbs.Add(fileName);//打开并显示EXCEL文件
object Nothing = Missing.Value;
MyExcel._Worksheet Exsheet;//定义一个新的工作表
Exsheet = wb.Sheets[1];//获取Excel文件中的第一张工作表
string sName = Exsheet.Name;//将工作表名称,存入一个字符串变量进行记录
int sRowcount = Exsheet.Rows.Count;//将工作表行数,存入一个整型变量进行记录
//同样可以通过 Exsheet = wb.Sheets[2]进行操作
Exsheet.Activate();//激活工作表
MyExcel.Range DYG = (MyExcel.Range)Exsheet.Cells[2, 2];//单元格B2
string content = DYG.Text;//读取单元格中的内容,并且写入一个string类型变量中
double height = DYG.Height;//读取单元格的高度,并且写入一个double类型的变量中
double width = DYG.Width;//读取单元格的宽度,并且写入一个double类型的变量中
Exsheet.Cells[2, 2] = "= A5&A3";//在B2单元格中设置公式
Exsheet.Cells[2, 3] = "sssss";//在C3单元格中设置内容
完整代码
https://download.csdn.net/download/weixin_42764060/11175686
|