【问题标题】:How to get the number of columns in the given row in Excel sheet with C#?如何使用 C# 获取 Excel 工作表中给定行的列数?
【发布时间】:2019-12-19 22:26:04
【问题描述】:

我正在使用 C# Interop Excel,并且我有一个 Excel 工作表,其中第一行中的列名和下面的一些数据。所以我想获取列名的数量,即第一行的列数。

我尝试过类似的方法,但返回的值不正确:

int colCount = ((Excel.Range)xlWorkSheet.Rows[1]).EntireRow.Columns.Count;

知道如何将第一行作为一个范围,然后获取该范围内的列数吗?

【问题讨论】:

  • 在 Excel 中你会这样做:colCount = Sheet1.Cells(1, Sheet1.Columns.Count).End(xlToLeft).Column

标签: c# excel interop


【解决方案1】:

试试这个...

var xlApplication = new Microsoft.Office.Interop.Excel.Application();
var xlWorkbook = xlApplication.Workbooks.Open("YourWorkbook.xlsx");
var xlWorksheets = xlWorkbook.Worksheets;
var xlWorksheet = xlWorksheets[1] as Worksheet;

var columnCount = xlWorksheet.Columns.Count;

... 或根据您的要求,根据使用情况在一行中的最后一列(示例是第 1 行,如果您需要循环或指定您选择的特定行)...

var columnCount = xlWorksheet.Cells[1, xlWorksheet.Columns.Count].End[XlDirection.xlToLeft].Column;

【讨论】:

  • 这正是我想要的,非常感谢!我不想简单地使用 xlWorksheet.Columns.Count,因为如果任何行包含的列多于标题,那么它们就是无效数据,我想忽略它们。
  • @cj__ 不用担心,伙计。请帮我一个忙并将其标记为答案。 L
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
相关资源
最近更新 更多