C#导入Excel 公式问题

人间太皮 2011-12-16 03:03:31
使用com组件导入Excel


Excel 的列中有的是使用公式计算的,使用com组件读出来的是公式,而不是数值。
我是这样取值的: ((Range)mySheet.Cells[i, j]).Formula.ToString();


比如某一列的公式为:=A10+B10,请问怎样才能直接得到结果,不能在程序里去计算,因为Excel里的公式可能是其它的。不一定是简单的加法。
...全文
391 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
一剑枯荣 2014-03-26
  • 打赏
  • 举报
回复
C# 怎么设置Excel 单元格中的内容的上下标,使上下标没有位移? 如果要用插入公式,该怎么插入呢?
一剑枯荣 2014-03-26
  • 打赏
  • 举报
回复
路过,学习了!
yanele 2011-12-17
  • 打赏
  • 举报
回复
我用上面这个方法,导入的不会是公式.
yanele 2011-12-17
  • 打赏
  • 举报
回复
/// <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文件内容
DataTable mytable = ds.Tables[0];
foreach (DataColumn tableCol in mytable.Columns)
{
tableCol.ColumnName = mytable.Rows[0][tableCol].ToString().Trim();//修改默认列名
}
mytable.Rows.RemoveAt(0); //删除第一行
//返回dataTalbe
return mytable;
}
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
this.Cursor = System.Windows.Forms.Cursors.Default; //鼠标显示状态
}
}
ychchhy 2011-12-16
  • 打赏
  • 举报
回复
个人觉得难度比较大。Excel公式中是字母加数字确定单元格,代码中是二维数字确定。如果能自动转换过来,可以实现。静候佳音!
朕赐你肥皂 2011-12-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/lanwilliam/article/details/2390831
人间太皮 2011-12-16
  • 打赏
  • 举报
回复
晕,都没有人吗?还是没遇到过这个问题
Free Spire.XLS for .NET 是e-iceblue公司开发的一款支持对所有Excel格式类型文件进行操作的.NET 控件。它适用于任何类型的应用程序比如ASP.NET Web应用程序或者Windows桌面应用程序。Spire.XLS for .NET允许开发人员创建和管理Excel,而不需要安装Microsoft Excel或者Microsoft Office。相比Microsoft,Spire.XLS for .NET对于开发人员来说是一个更好的选择 - 自动化,安全,稳定,可扩展性延伸,速度快,价格便宜和功能强大。 通过使用Free Spire.XLS for .NET,开发人员可以快速方便的查看,生成,读写以及自定义编辑Excel文件。Spire.XLS for .NET支持Excel 97-2003, Excel 2007, Excel 2010 and Excel 2013。它还支持C#, VB.NET, ASP.NET和 ASP.NET MVC编程语言 作为一款专业,强大,方便易用的控件,Spire.XLS for .NET有一下主要功能: 新建Excel文件,编辑已有的Excel文件,多种保存Excel方式,设置Excel文件属性,文件打印设置,合并,拆分或者拷贝单元格,支持对Excel文件加锁或者加密保护。 Spire.XLS for .NET支持把数据从数据库导出到Excel工作表,或者把数据从Excel数据导入到数据库。 Spire.XLS for .NET 提供强大的功能为开发者设置单元格格式。这次格式化数字,文字缩进,定位调整,设置单元格边线,单元格填充以及保护等。 开发人员可以轻松的利用Spire.XLS for .NET向Excel文件里面写入内容,包括超过530多种的公式,70多种表格,支持插入图片,不同类型的文字,链接,注释甚至VBA等。 Spire.XLS for .NET 还允许开发人员将Excel文件转换成PDF, HTML, CSV, Text, XML以及图片格式。 注:下载包含有Spire.xls.dll文件以及部分Demo, 你可以调用DLL并参照Demo提供的代码处理Excel文档。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧