说明
vs2022开发,调用excel
代码
csharp
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();
//退出excel
app.Quit();
MessageBox.Show("处理完成,保存文件为:" + path);
}
}
}