これを行うには多くの提案があるようですが、どれも機能していないようです。
事実上、Excelシートのテキスト値を数値に変更したいと考えています(これは、テキストとして保存された数値として設定されたセルで、横に緑色のひし形があります)。
このWeb ページでは、UI を介して Excel で問題を解決する方法について詳しく説明しています。これを以下のマクロとして記録しました (ただし、これは VBA です)...
値をそれ自体に設定することを含みます:
Range allCellsRng;
string lowerRightCell = "AZ500";
allCellsRng = wSheet.get_Range("A1", lowerRightCell).Cells;
foreach (Range cell in allCellsRng)
{
if (cell.Value2.ToString().Length > 0)
{
cell.Value2 = cell.Value2;
}
}
これは記録された VB マクロで、何が問題を解決するかを示していますが、これを C# で表現するのに問題があります。
ActiveCell.FormulaR1C1 = "0"
Range("A1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select