c#操作excel
说明
vs2022开发,调用excel
代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;namespace ExcelReplace
{public partial class Form1 : Form{private Microsoft.Office.Interop.Excel.Application app;public Form1(){InitializeComponent();}private void btnPath_Click(object sender, EventArgs e){if (this.openFileDialog1.ShowDialog() == DialogResult.OK){this.tbPath.Text = this.openFileDialog1.FileName;}}private void btnReplace_Click(object sender, EventArgs e){if (tbPath.Text.Trim().Length == 0){MessageBox.Show("请选择Excel文件");return; }//替换app=new Microsoft.Office.Interop.Excel.Application();app.Visible = true;var wb=app.Workbooks.Open(tbPath.Text);foreach (Worksheet ws in wb.Worksheets){//使用的行数var rowCount =ws.UsedRange.Rows.Count;//使用的列数var colCount=ws.UsedRange.Columns.Count;for (int row = 1; row <= rowCount; row++){for (int col = 1; col <= colCount; col++){Range c=ws.Cells[row, col];string s = c.Text;if (s.Contains("亿")){string s1 = "=" + s.Replace("亿", "*10000");c.Formula = s1;} else if (s.Contains("万")){string s1 = s.Replace("万", "");c.Value = s1;}}}}//保存文件FileInfo f=new FileInfo(tbPath.Text);string path = f.DirectoryName+"\\" + f.Name.Replace(f.Extension, "") + DateTime.Now.ToString("yyyyMMddHHmmss") + f.Extension;wb.SaveAs(path);//关闭wb.Close();//退出excelapp.Quit();MessageBox.Show("处理完成,保存文件为:" + path);}}
}