如何使用 MS Office 的 .NET 包装器知道 Excel 文件单元格计数
How to know Excel file cells count using .NET wrapper for MS Office
在我的程序中,我使用 .NET wrapper for MS Office 将 Excel 文件读入二维数组。
它适用于以下代码:
public static object[,] OpenExcelFileToArray(string filename, string start, string end, int sheetNumber = 1)
{
using (var app = MSExcel.Application.CreateApplication())
{
var book = app.Workbooks.Open(filename);
var sheet = (MSExcel.Worksheet)book.Worksheets[1];
var range = sheet.GetRange(start, end);
return (object[,]) range.Value2;
}
}
在这个方法中,我发送 string start
和 string end
作为参数(例如 start = "A1"
和 end = "Z10"
。
它仅在我已经知道 Excel 内容 table 的大小时才有效。
但是,如果我不知道 Excel 文件的最后一个单元格怎么办?
这可以使用 .NET wrapper for MS Office 解决吗?
我在他们的网站上没有找到所需的信息。
我想,Worksheet.UsedRange 属性 就是您要找的。
我不确定 MS Office Wrapper for .NET 是否提供它。
Microsoft 的 Office 官方 .Net 包装器是 VSTO,它支持此 属性:
https://msdn.microsoft.com/en-us/library/bb608603.aspx
在我的程序中,我使用 .NET wrapper for MS Office 将 Excel 文件读入二维数组。 它适用于以下代码:
public static object[,] OpenExcelFileToArray(string filename, string start, string end, int sheetNumber = 1)
{
using (var app = MSExcel.Application.CreateApplication())
{
var book = app.Workbooks.Open(filename);
var sheet = (MSExcel.Worksheet)book.Worksheets[1];
var range = sheet.GetRange(start, end);
return (object[,]) range.Value2;
}
}
在这个方法中,我发送 string start
和 string end
作为参数(例如 start = "A1"
和 end = "Z10"
。
它仅在我已经知道 Excel 内容 table 的大小时才有效。
但是,如果我不知道 Excel 文件的最后一个单元格怎么办?
这可以使用 .NET wrapper for MS Office 解决吗?
我在他们的网站上没有找到所需的信息。
我想,Worksheet.UsedRange 属性 就是您要找的。 我不确定 MS Office Wrapper for .NET 是否提供它。 Microsoft 的 Office 官方 .Net 包装器是 VSTO,它支持此 属性: https://msdn.microsoft.com/en-us/library/bb608603.aspx