Question posted 2011 · +6 upvotes
I’m trying to find the dimensions of an Excel table using C# by finding the first null cell within the first column (which consists of dates) and the header row.
Here’s the code I’m using right now:
public static void findingTableBounds()
{
string dateCol = "";
ArrayList dateColumn = new ArrayList();
ArrayList numberOfColumns = new ArrayList();
for (int column = 1; column < currentRow; column++)
{
dateCol = ((Excel.Range)workSheet.Cells[currentRow, 1]).Value2.ToString();
if (dateCol != "")
{
dateColumn.Add(dateCol);
currentRow++;
totalRow++;
Console.WriteLine("Total Row: {0}", totalRow);
}
else
{
Console.WriteLine("Total Row: {0}", totalRow);
currentRow = 2;
}
}
**Note: There is a closing bracket for this method, I didn’t include it because there’s another for loop that does the exact same thing as the above code but only for how many columns there are.
The error occurs at “dateCol = ((Excel.Range)workSheet.Cells[currentRow, 1]).Value2.ToString();” I’m pretty sure it happens because I’m trying to assign a null value (the cell) to dateCol (a string) when string is a non-nullable type. Unfortunately I’m not sure how to solve the problem.
Accepted answer +9 upvotes
Applying a null value to a string is doable, but if
((Excel.Range)workSheet.Cells[currentRow, 1]).Value2 is null, then it doesn’t have a function ToString() is not a function, so trying to execute it doesn’t work. Does it say what type of exception it is? because there might be a bigger problem…
Top excel Q&A (6)
- Shortcut to Apply a Formula to an Entire Column in Excel +335 (2011)
- How should I escape commas and speech marks in CSV files so they work in Excel? +136 (2012)
- Convert xlsx to csv in linux command line +96 (2012)
- How to create a link inside a cell using EPPlus +50 (2011)
- IF statement: how to leave cell blank if condition is false ("" does not work) +44 (2013)
- T-SQL: Export to new Excel file +44 (2012)
excel solutions on this site
.