프로그램/유니티 스크립트 소스
[유니티 스크립트 소스] Excel
코더 제로
2021. 2. 2. 04:15
728x90
반응형
1. 네임스페이스
네임스페이스 |
using System.Data; using System.Data.Odbc; |
2. 소스
using UnityEngine;
using System.Data;
using System.Data.Odbc;
public class Excel : MonoBehaviour
{
public string m_FilePath = @"D:/Test.xlsx";
void Update()
{
if (Input.GetKeyDown(KeyCode.R))
{
DataTable dataTable = Read(m_FilePath);
for (int i = 0; i < dataTable.Rows.Count; i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
string columnName = dataTable.Columns[j].ColumnName;
string columnValue = dataTable.Rows[i][j].ToString();
Debug.Log($"컬럼명 : {columnName} 컬럼값 : {columnValue}");
}
}
}
}
DataTable Read(string filePath)
{
string connectionString
= "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; Dbq=" + filePath + ";";
string cmdText = "SELECT * FROM [Sheet1$]";
OdbcConnection connection = new OdbcConnection(connectionString);
OdbcCommand odbcCommand = new OdbcCommand(cmdText, connection);
DataTable DataTable = new DataTable("YourData");
connection.Open();
OdbcDataReader reader = odbcCommand.ExecuteReader();
DataTable.Load(reader);
reader.Close();
connection.Close();
return DataTable;
}
}
3. 에러
윈도우10 64bit에서 32bit ODBC를 사용하면,
OdbcException: ERROR [IM002] [Microsoft][ODBC 드라이버 관리자] 데이터 원본 이름이 없고 기본 드라이버를 지정하지 않았습니다. 라는 에러가 발생함.
해결방법 : www.microsoft.com/ko-KR/download/details.aspx?id=13255 사이트에서 64bit용 재배포 패키지를 다운받아서 설치 하면 됨.
728x90
반응형