c# excel 읽기 방법 실례 분석
Provider는 실제 EXCEL 버전에 따라 설정되며 ACE 인터페이스를 사용하여 읽는 것을 권장합니다.Access database Engine이 필요합니다.
레지스트리 아래 두 항목의 값은 0입니다.그렇지 않으면 EXCEL 가져오기 셀의 문자 길이가 255를 초과하면 차단 현상이 발생합니다!!!
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\AccessConnectivity Engine\Engines\Excel\TypeGuessRows
64비트 시스템
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
포럼에서 excel을 읽고 excel을 가져오는 것에 대한 질문이 끊임없이 나오는 것을 보았다.여가 시간에 제가 알고 있는 excel에 대한 조작을 정리하고 여러분을 공유하며 여러분께 일정한 도움을 드릴 수 있기를 바랍니다.
그리고 우리는 몇 가지 간단한 문제에 주의해야 한다.
①. excel 파일은 65535줄만 저장할 수 있습니다. 65535줄보다 데이터가 크면 excel을 분할해서 저장해야 합니다.②. 부호에 관해서 이것은 주로 문자 설정 문제이다.
1. Excel 불러오기(excel 내용 읽기) 반환값은 DataSet
// Excel
public static DataSet LoadDataFromExcel(string filePath)
{
try
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
// Sheet , sheet2,
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
return OleDsExcle;
}
catch (Exception err)
{
MessageBox.Show(" Excel ! :" + err.Message, " ",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}
2. Excel 내용, 인자 쓰기: excelTable은 excel을 가져올 table 테이블입니다.
public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)
{
Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.ApplicationClass();
try
{
app.Visible = false;
Workbook wBook = app.Workbooks.Add(true);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 2, j + 1] = str;
}
}
}
int size = excelTable.Columns.Count;
for (int i = 0; i < size; i++)
{
wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
}
//
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;
//
wBook.Save();
// excel
app.Save(filePath);
app.SaveWorkspace(filePath);
app.Quit();
app = null;
return true;
}
catch (Exception err)
{
MessageBox.Show(" Excel ! :" + err.Message, " ",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
}
}
본 논문이 여러분의 C#프로그래밍에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.