Я пытаюсь разобрать формат Excel в json. Ниже приведен проверенный код, который вызывает проблему с «OleDbConnection».Я пробовал разные решения, но, похоже, ничего не работает.
using System;
using System.Linq;
using System.Data;
using System.Data.OleDb;
using System.Data.Common;
using Newtonsoft.Json;
using System.IO;
namespace ResumeParsing
{
class Program
{
static void Main(string[] args)
{
var pathToExcel = @"C:\Users\Admin\Desktop\resumeexcelformat.xlsx";
var sheetName = "Sheet1";
var destinationPath = @"C:\path\to\save\json\file.json";
//Use this connection string if you have Office 2007+ drivers installed and
//your data is saved in a .xlsx file
var connectionString = $@"
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source={pathToExcel};
Extended Properties=""Excel 12.0 Xml;HDR=YES""
";
//Creating and opening a data connection to the Excel sheet
using (var conn = new OleDbConnection(connectionString))
{
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText = $"SELECT * FROM [{sheetName}$]";
using (var rdr = cmd.ExecuteReader())
{
//LINQ query - when executed will create anonymous objects for each row
var query = rdr.Cast<DbDataRecord>().Select(row => new {
Prefix = row[1],
FirstName = row[2],
MiddleName = row[3],
Surname = row[4]
});
//Generates JSON from the LINQ query
var json = JsonConvert.SerializeObject(query);
//Write the file to the destination path
File.WriteAllText(destinationPath, json);
}
}
}
}
}
Через Google я пытался добавить ссылку, но в моем проекте нет опции сборки, и в ней показывается "нет элементов", чтобы проверить, является ли система.данные проверены или нет. См. также изображение.
Может кто-нибудь сказать, пожалуйста, как решить эту ошибку?