我想从我的表单(在C#中)写入excel电子表格,并删除某些空白行。
我可以很好地将数据写入speadsheet并保存它,但是假设用户在a1、a2、a3和a4行中输入了数据,我现在想删除a4和a29之间的所有行。
我所需要的就是找出如何删除特定范围的单元格。
谢谢
发布于 2012-09-04 08:03:49
您可以使用Range对象来完成此操作。我在这里假设您使用的是Excel互操作。
假设你打开了你的书,然后设置范围,然后删除它,它应该看起来像这样
ApplicationClass excel = new ApplicationClass();
//Abrir libro y seleccionar la hoja adecuada aqui
//...
Microsoft.Office.Interop.Excel.Range cel = (Range)excel.Cells[rowIndex, columnIndex];
cel.Delete();发布于 2017-11-07 14:14:20
// Here is the answers to
// 1. Delete entire row - Below rows will shift up
// 2. Delete few cells - Below cells will shift up
// 3. Clear few cells - No shifting
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook ExcelWorkbook = ExcelApp.Workbooks.Open(ResultFilePath);
ExcelApp.Visible = true;
Excel.Worksheet ExcelWorksheet = ExcelWorkbook.Sheets[1];
Excel.Range TempRange = ExcelWorksheet.get_Range("H11", "J15");
// 1. To Delete Entire Row - below rows will shift up
TempRange.EntireRow.Delete(Type.Missing);
// 2. To Delete Cells - Below cells will shift up
TempRange.Cells.Delete(Type.Missing);
// 3. To clear Cells - No shifting
TempRange.Cells.Clear();发布于 2013-02-01 16:08:39
你可以用这个。İt正在工作..。
_Application docExcel = new Microsoft.Office.Interop.Excel.Application { Visible = false };
dynamic workbooksExcel = docExcel.Workbooks.Open(@"C:\Users\mahmut.efe\Desktop\Book4.xlsx");
var worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet;
((Range)worksheetExcel.Rows[2, Missing.Value]).Delete(XlDeleteShiftDirection.xlShiftUp);
workbooksExcel.Save();
workbooksExcel.Close(false);
docExcel.Application.Quit();欲了解更多信息,请访问this网站
https://stackoverflow.com/questions/12255166
复制相似问题