111,092
社区成员




private void OpenExcel(string strFileName)
{
object missing = System.Reflection.Missing.Value;
int meterColumn = 0;
int rowEffictive = 0;
string[] meterNo = new string[150000];
try
{
string workTmp = strFileName;
Range range = null;
objExcelApp = new ApplicationClass();
objExcelWorkBooks = objExcelApp.Workbooks;
objExcelWorkbook = objExcelWorkBooks.Open(strFileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
objExcelWorkSheet = (Worksheet)objExcelWorkbook.Worksheets.get_Item(1); //获取sheet1工作薄
int rowTotal = objExcelWorkSheet.UsedRange.Cells.Rows.Count; //取得行数
int columnTotal = objExcelWorkSheet.UsedRange.Cells.Columns.Count; //得到列数
textBox1.Text = "共计" + rowTotal.ToString() + "数据";
for (int i = 1; i < rowTotal + 1; i++) //从第二行开始
{
string meterNum = "";
string tempNum = "";
meterNum = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[i, 1]).Text.ToString(); //赋值表号
for (int j = i + 1; j < rowTotal+1; j++)
{
tempNum = ((Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Cells[j, 1]).Text.ToString();
if (tempNum == meterNum) //表号比较
{
range = (Microsoft.Office.Interop.Excel.Range)objExcelWorkSheet.Rows[j, missing];
range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp); //一样就删除,下面的行上移
rowTotal = objExcelWorkSheet.UsedRange.Cells.Rows.Count; //获取新的有效行数
}
}
textBox2.Text = "处理第" + i.ToString();
}
string fileName = System.Windows.Forms.Application.StartupPath + "处理后.xlsx";
objExcelWorkbook.SaveAs(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//Creat_ConfigExl((exlFileName + "配置表.xlsx"), meterNo, rowTotal); //add 2017-7-13
objExcelApp.Quit(); //要退出EXCEL操作,否则进程不会被结束,占用资源
//Write_ToExl(meterNo,meterColumn);
}