c# – Interop Excel UsedRange Rows计数不正确
发布时间:2020-12-16 02:02:10 所属栏目:百科 来源:网络整理
导读:我试图将excel电子表格读入内存但是当我使用worksheet.UsedRange.Rows.Count时,返回的值不正确.我的电子表格中有1670行数据,但行数带回694行. var excelApp = new Microsoft.Office.Interop.Excel.Application {Visible = false};var workbook = excelApp.Wo
我试图将excel电子表格读入内存但是当我使用worksheet.UsedRange.Rows.Count时,返回的值不正确.我的电子表格中有1670行数据,但行数带回694行.
var excelApp = new Microsoft.Office.Interop.Excel.Application {Visible = false}; var workbook = excelApp.Workbooks.Open(_mirrorFileName,Type.Missing,Type.Missing); var worksheet = (Worksheet)workbook.Worksheets[1]; var excelRange = worksheet.UsedRange; var valueArray = (object[,])excelRange.Value[XlRangeValueDataType.xlRangeValueDefault]; var rowCount = worksheet.UsedRange.Rows.Count; 我应该使用UsedRange来查找行数还是有另一种方法??? 解决方法
请尝试以下示例代码,
using System; using System.Windows.Forms; using Excel = Microsoft.Office.Interop.Excel; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender,EventArgs e) { Excel.Application xlApp ; Excel.Workbook xlWorkBook ; Excel.Worksheet xlWorkSheet ; Excel.Range range ; string str; int rCnt = 0; int cCnt = 0; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls",true,5,"",Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,"t",false,1,0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); range = xlWorkSheet.UsedRange; rCnt = range.Rows.Count; cCnt = range.Columns.Count; xlWorkBook.Close(true,null,null); xlApp.Quit(); releaSEObject(xlWorkSheet); releaSEObject(xlWorkBook); releaSEObject(xlApp); } } 声明变量Excel.Range范围,然后使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |