"SP $"라는 Excel 시트에서 첫 번째 열의 값을 검색하려고합니다.OleDB를 사용하여 Excel 시트 (확장명이 .xlsm 인 파일)에서 첫 번째 열의 값 검색
string path = @"C:\Users\atsurkanu\Desktop" + @"\TemplateClientExtraction_IDEAFIMIT_Conero_QUARTER_20170127.xlsm";
string connectionString = string.Format(@"provider=Microsoft.ACE.OLEDB.12.0;data source={0};Extended Properties=Excel 12.0;", path);
string sheetName = "SP$";
이 같은 일부 코드 :
나는 경로가
using (OleDbConnection con = new OleDbConnection(connectionString))
{
try
{
var dataTable = new DataTable();
con.Open();
var tableschema = con.GetSchema("Tables");
var firstsheet = tableschema.Rows[0]["SP$"].ToString();
string name_query = "SELECT A4 FROM [" + firstsheet + "]";
OleDbDataAdapter da = new OleDbDataAdapter(name_query, con);
da.Fill(dataTable);
con.Close();
을하지만 그것은 작동하지 않습니다. 제발, 고양이가 Excel 시트에서 첫 번째 열을 검색하는 방법을 말해주십시오.
업데이트 : 나는 그것이 어떻게 작동하는지 확실하지 오전하지만 도움 :
이var dataTable = new DataTable();
con.Open();
var tableschema = con.GetSchema("Tables");
// To get the first sheet name you use the first row and the column named TABLE_NAME
var firstsheet = tableschema.Rows[0]["TABLE_NAME"].ToString();
string name_query = "SELECT F1 FROM [" + "SP$" + "] WHERE F1 <> ''";
OleDbDataAdapter da = new OleDbDataAdapter(name_query, con);
da.Fill(dataTable);
foreach (DataRow dataRow in dataTable.Rows)
{
foreach (var item in dataRow.ItemArray)
{
listWithElementsFromSPfirstColumn.Add((string)item);
}
}
정확히 작동하지 않는 기능은 무엇입니까? 오류/예외가 있습니까? – andrews
A4 및 SP $는 무엇입니까? 검색 할 셀과 표로 사용할 시트 이름을 나타 냅니까? – Steve
A4 - 데이터 검색을 시작하려는 호출의 이름입니다 (A4 -> A5 -> A6). 이유는 A1, A2, A3이 비어 있기 때문입니다. SP $ - 스프레드 시트의 시트 이름입니다. 또한 이름, 비용, 건물 등의 시트가 있습니다. –