c# - 循环遍历 Excel 工作表以删除特定工作表并重命名其他工作表
问题描述
我想遍历 excel 文件上的所有工作表以删除特定工作表并重命名另一个工作表。我的脚本重命名了我要删除的工作表并忽略了我要重命名的工作表,但我不知道如何修复它。
我尝试使用计数器从 workbook.Worksheets.Item[1] (我要删除的工作表)和 workbook.Worksheets.Item[2] (我想重命名为 master 的工作表)移动。
try
{
//MessageBox.Show(Path.GetFullPath(fileDirectory_Source + cleanFileName).ToString() + "\r\n");
var sheetNumber = 1;
///Standardize Excel Sheet Names
var excelFile = Path.GetFullPath(fileDirectory_Source + cleanFileName);
var excel = new Excel.Application();
var workbook = excel.Workbooks.Open(excelFile);
var sheet = (Excel.Worksheet)workbook.Worksheets.Item[sheetNumber];
MessageBox.Show(sheet.Name);
foreach (Excel.Worksheet s in workbook.Worksheets)
if (s.Name.Equals("Customer Details"))
{
MessageBox.Show(sheet.Name);
sheet.Delete();
sheetNumber++;
//sheet = sheet.Next();
}
MessageBox.Show(workbook.Worksheets.ToString());
sheet.Name = "master";
new Excel.Application().DisplayAlerts = false;
workbook.CheckCompatibility = false;
workbook.DoNotPromptForConvert = true;
workbook.Save();
excel.Application.Workbooks.Close();
GC.Collect();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
errorText = errorText + "Error at Excel File Manipulation Step: " + ex.Message.ToString() + "\r\n";
}
解决方案
推荐阅读
- c++ - 如何将指向对象的指针分配给指向同一类对象的另一个指针?
- java - 为什么找不到或无法加载主类?
- python - 按 N 列的块重塑 Pandas 数据框列
- java - Wildfly上的Google oauth客户端异常
- javascript - 事件和数据处理 Vue.js
- python - 如何使用python在单个tkinter窗口中显示每个组合框值的动作
- react-native - 错误:在带有 axios 的 react-native 中请求失败,状态码为 400
- reactjs - 在 React Native 中为自定义组件设置多个状态 ID
- javascript - 限制 Formik FormData 中的重复
- javascript - 使用 Java Script/JQuery 从选定的复选框值中获取值