查询excel电子表格以获取格式格式....(百分比)

时间:2010-06-22 15:22:44

标签: c# .net excel ado.net

我正在使用.Net 4.0和excel 2003

如何使用oledb连接检索excel电子表格的单元格格式...我特别想知道单元格列(或单元格本身)是否为数字百分比格式。

我似乎无法在GetOleDbSchemaTable方法中找到此信息。

EX:我的网络应用程序从Excel电子表格中读取数字。这很好用;但是,如果数字是百分比格式,excel将其显示为(分数* 100),但实际值为小数小数(1/3 = .3333 ..) - Excel显示为33.33% - (注意小数点) )。

因此,我需要一种区分百分比和百分比的方法。什么是不允许我的webapp正常工作......

有什么想法吗? 在此先感谢.....

3 个答案:

答案 0 :(得分:0)

您可以使用OleDbConnection.GetSchema获取此信息,但我不确定您将获得哪些信息可以获得Excel表格。文档here

答案 1 :(得分:0)

搜索有问题的单元格(范围)的NumberFormat属性以获得%符号。

此外,如果您可以获得格式类型,那么您正在寻找以“P”开头的格式,例如“P1”。

编辑:我能看到的唯一方法是使用XML或自动化。对于自动化,您需要使用Interop Assembly。 命名空间: Microsoft.Office.Interop.Excel,接口: DisplayFormat,属性: NumberFormat

答案 2 :(得分:-1)

你能不能将第一行数据作为字符串读取并解析它,在字符串中查找'%'。