簡體   English   中英

C#通過OLEDB從Excel提取格式化文本

[英]C# extract formatted text from Excel through OLEDB

我正在從具有格式化文本的大型excel文件中讀取數據。 我通過oleDBConnectionGetOleDbSchemaTable將數據提取到DataTable對象。 但是提取的數據不包含任何格式化信息。

我的要求是,我只需要提取非刪除線文本。

我在閱讀時沒有任何問題,一切都很好。 但是我的提取應該基於excel中的文本格式,我無法找到解決方案。

connectionString中添加的任何內容如下:

connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + "; Extended Properties=\"Excel 12.0 Xml;HDR=YES;Mode=Read;ReadOnly=True;\"";

約束:

  1. 使用OleDBConnection-無互操作

  2. 讀取到DataTable對象

據我所知,您不能僅使用ACE驅動程序來做到這一點。 話雖如此,如果約束解除了,這就是使用的工具: http : //closedxml.codeplex.com/

您應該切換方法以使用開放XML。 是.NET,不是COM

信息: http : //support.microsoft.com/kb/840817

下載SDK: http : //www.microsoft.com/en-us/download/details.aspx? displaylang = en& id=5124

如果不想使用Interop,則必須使用“ Open Xml”來獲取格式信息。 別無選擇。 我僅提到Biff是為了確保正確性,但是您的連接字符串清楚地表明了XML,因此Biff不在了。

通過“ Open Xml”打開后,您可以像“ DataTable表”一樣“模擬”讀取范圍/表/單元格。

由於您的限制,只有#1會給您格式化信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM