C#导入Excel 公式问题
使用com组件导入Excel
Excel 的列中有的是使用公式计算的,使用com组件读出来的是公式,而不是数值。
我是这样取值的: ((Range)mySheet.Cells[i, j]).Formula.ToString();
比如某一列的公式为:=A10+B10,请问怎样才能直接得到结果,不能在程序里去计算,因为Excel里的公式可能是其它的。不一定是简单的加法。
------解决方案--------------------http://blog.csdn.net/lanwilliam/article/details/2390831
------解决方案--------------------个人觉得难度比较大。Excel公式中是字母加数字确定单元格,代码中是二维数字确定。如果能自动转换过来,可以实现。静候佳音!
------解决方案--------------------/// <summary>
/// 获取Excel数据
/// </summary>
/// <param name="fileName"></param>
private DataTable GetEcxelData(string fileName)
{
try
{
if (tableName == null)
{
return null;
}
else
{
this.Cursor = Cursors.WaitCursor; //鼠标显示状态
//根据路径打开一个Excel文件并将数据填充到DataSet中
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + fileName + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";
//导入时包含Excel中的第一行数据,并且将数字和字符混合的单元格视为文本进行导入
OleDbConnection myExcelConn = new OleDbConnection(strConn);
myExcelConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [" + tableName + "]", strConn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "table1");
//上获取到Excel文件内容
&nbs