如何通过C#在Excel中将公式值parsing为文本
我必须从MS Excel文件parsing出一些数据。
我需要从中获取数据的单元格具有公式文本作为其值。
例如:
Sheet 2 [A1].Value = "$50" Sheet 1 [A1].Formula = "='Sheet2'!A1"
当我抓取Sheet1 [A1]
的值时,我得到='Sheet2'!A1
,而不是$50
。
有没有办法从公式计算Sheet1[A1]
使用C#后的文本值?
这是我使用Rup提到的Microsoft.Office.Interop.Excel
using Microsoft.Office.Interop.Excel; string fileName = @"C:\TestSheet.xls"; Application xlApp = new Application(); Workbook book = xlApp.Workbooks.Open(fileName); Worksheet sheet = xlApp.Worksheets[1]; Range range = sheet.get_Range("A1"); Console.WriteLine(range.get_Value(XlRangeValueDataType.xlRangeValueDefault));
我不确定Range的哪一个成员可以处理这个设置,但是我猜这等于Value2,而不是像电子表格一样的一般input。 尝试:
Sheet1[A1].Formula = "='Sheet2'!A1"; Console.Out.WriteLine(Sheet1[A1].Value2);
明确规定这是一个论坛。 您可能还需要触发重新计算,但我不希望。