EXCEL 데이터 조작
22457 단어 Excel
string filePath = @"F:\Tim\UpdatePIMData1\Staff.xls";
private DataSet SearchDataSource()
{
string strCon;
strCon = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
OleDbConnection olecon = new OleDbConnection(strCon);
OleDbDataAdapter myda = new OleDbDataAdapter("SELECT StaffID,JoinDate FROM [Staff$]", olecon);
DataSet myds = new DataSet();
myda.Fill(myds);
return myds;
}
/// <summary>
/// Excel
/// </summary>
/// <param name="Path"> </param>
public bool SaveFP2toExcel(string Path)
{
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();
cmd.Connection =conn;
//cmd.CommandText ="UPDATE [sheet1$] SET ='2005-01-01' WHERE =' '";
//cmd.ExecuteNonQuery ();
for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
{
if(fp2.Sheets [0].Cells[i,0].Text!="")
{
cmd.CommandText ="INSERT INTO [sheet1$] ( , , , , , ) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
"','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
cmd.ExecuteNonQuery ();
}
}
conn.Close ();
return true;
}
catch(System.Data.OleDb.OleDbException ex)
{
System.Diagnostics.Debug.WriteLine (" Excel :"+ex.Message );
}
return false;
}
protected void DoOleSql(string sql, string database)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Server.MapPath("\\") + database
+ "; Extended Properties='Excel 8.0;HDR=no;IMEX=0'";
try
{//
conn.Open();
}
catch (Exception e)
{
Response.Write(e.ToString());
}
OleDbCommand olecommand = new OleDbCommand(sql, conn);
try
{//
olecommand.ExecuteNonQuery();
}
catch (Exception eee)
{
Response.Write(eee.ToString());
conn.Close();
}
finally
{
conn.Close();//
}
conn.Close();
}
3, excel 파일에서 데이터 읽기
string
sql
=
"
select * from [sheet1$]
"
;DoOleSql(sql,
"
test.xls
"
);
4. excel 파일의 데이터 업데이트
string
sql
=
"
update [sheet1$] set FieldName1='333' where FieldName2='b3'
"
;DoOleSql(sql,
"
test.xls
"
);
5. excel 파일에 데이터 삽입
string
sql
=
"
insert into [sheet1$](FieldName1,FieldName2,…) values('a',’b’,…)
"
;DoOleSql(sql,
"
test.xls
"
);
6. excel 파일의 데이터 삭제: 이런 방법의 사용을 권장하지 않는다
7. 비표준 구조의 excel 표에 대해 excel 중sheet의 범위를 지정할 수 있습니다
1) 데이터 읽기:string sql = "select * from [sheet 1$A3: F20]"
2) 업데이트 데이터:string sql = "update [sheet1$A9:F15] set FieldName='333'where AnotherFieldName='b3'"
3) 데이터 삽입:string sql = "insert into [sheet1$A9:F15](FieldName1,FieldName2,...)values('a','b',...)"
4) 데이터 삭제: 권장되지 않음
주: 1) 코드는 수요에 따라 스스로 수정할 수 있다.2)'업데이트 가능한 조회를 사용해야 하는 작업'오류가 발생하면 ql문장에서 excel 파일의'필드'인용에 오류가 있거나 excel 파일에'수정'권한이 없을 수 있습니다.3) "선택된 범위를 확장할 수 없음"오류가 발생하면 excel 파일에서 인용한 "범위"에 오류가 있을 수 있습니다.
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
{
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Excel Grep toolExcel Grep tool ■히나가타 ■ 시트 구성 ExcelGrep.cls...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.