如何读取excel(.xlsm)文件,该文件是使用finansu加载项通过C#

我有一个excel(.xlsm)文件,通过excel加载项“finansu”进行股市实时数据更新。 当我尝试通过股票名称栏中的C#应用​​程序读取excel数据时,它显示正确的股票名称,但在值列处没有显示任何东西。 该股票价值栏通过finansu加载项更新实时值。

请帮助我阅读这些值。 提前致谢。

以下是源代码:

connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";"; query = "SELECT * FROM [RealTime$]"; conn = new OleDbConnection(connString); if (conn.State == ConnectionState.Closed) conn.Open(); cmd = new OleDbCommand(query, conn); da = new OleDbDataAdapter(cmd); dt = new System.Data.DataTable(); da.Fill(dt); 

OLEDB将无法检索您想要的数据。 我不熟悉finansu插件,但Excel Interop应该能够得到你所需要的。

的Microsoft.Office.Interop.Excel

示例代码:

 using Microsoft.Office.Interop.Excel; using System; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { var filename = @"C:\temp\Book1.xlsx"; var excel = new Microsoft.Office.Interop.Excel.Application(); var wb = excel.Workbooks.Open(filename); Worksheet realtime = wb.Sheets["RealTime"]; foreach (Range row in realtime.UsedRange.Rows) { Console.WriteLine("{0}", row.Cells[1, 1].Value); // Column A Console.WriteLine("{0}", row.Cells[1, 2].Value); // Column B // etc ... } wb.Close(SaveChanges: false); } } }