c# - 由于选项卡名称,Webform 仅从一组 Excel 文件中读取标题
问题描述
我正在构建一个应用程序,通过 Webform 从我们设施中的比较器读取测量数据(在我们的网络上保存为 .xls 文件)。当我查询这组文件时,我只检索标题。我的代码(非常标准)将读取我能找到的任何其他 Excel 文件。我尝试从网络中删除文件并将其保存在本地,以及从 Office 2016 重命名并保存它。注意 - 这些是 .xls 文件,我无法更改。
** - 我刚刚发现有与文件同名的命名范围。我得到的结果只是命名范围内的值,而不是工作簿中的数据。这是一个如何命名(自动生成)“R87_1RCR0009654S_COIN”的示例如果我重命名或删除命名范围,这可以正常工作。
有没有办法可以改变我的选择语句来阅读这些?
这是一个代码示例,不确定是否可以在此处进行更改以读取这些文件。
private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
string conStr, sheetName;
conStr = string.Format(Excel03ConString, info.FullName, "YES");
string fullPathToExcel = info.FullName;
//Get the name of the First Sheet.
using (OleDbConnection con = new OleDbConnection(conStr))
{
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = con;
con.Open();
DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
con.Close();
}
}
using (OleDbConnection con = new OleDbConnection(conStr))
{
using (OleDbCommand cmd = new OleDbCommand())
{
using (OleDbDataAdapter oda = new OleDbDataAdapter())
{
DataTable dt = new DataTable();
cmd.CommandText = "SELECT * From [" + sheetName + "]";
cmd.Connection = con;
con.Open();
oda.SelectCommand = cmd;
oda.Fill(dt);
con.Close();
}
}
}
解决方案
推荐阅读
- powershell - 如何以安全的方式提供 api 密钥?
- php - Laravel POST 请求中收到的原始 PDF
- python - 使用 Keras.NET 进行数组整形
- android - 底部导航上的 Nativescript 设置 selectedIndex 在 Android 上不起作用
- python - 我的 pygame 屏幕的左上角没有正确更新,但其他一切正常
- python - Python正则表达式匹配序列中的许多标记
- redirect - wp_redirect() 函数导致 WooCommerce Checkout 上的无限加载/微调器
- android - 每当用户在颤动中更改操作系统主题时如何获得通知?
- mysql - 具有连接表的聚合函数。为什么这些项目有不同的客户 ID?
- r - 如何根据 df 中特定列的 nrows 减少代表的长度