제6장 Excel 보고서 개발

4655 단어 Excel보고서 개발
제6장 Excel 보고서 개발
1.excel 데이터베이스로 가져오기(ADO)
   
OleDbConnection conn = new     OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet4$]", conn);
// 
DataSet ds = new DataSet();
da.Fill(ds);
string sql = string.Empty;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
    sql += string.Format("insert into ExcelTable values('{0}','{1}','{2}')", ds.Tables[0].Rows[i][0].ToString(), ds.Tables[0].Rows[i][1].ToString(), ds.Tables[0].Rows[i][2].ToString());
}
int rowCount = sqlhlper.runsql(sql);
State = "ok";

2. 데이터베이스의 데이터를 excel(서버)로 내보내기
(1) 도입 헤더 파일: using Excel=Micosoft.office.Interop.Excel;
(2) 응용 프로그램 객체 만들기
(3) 워크북 객체 만들기
(4)worksheet 대상 만들기
(5) 행마다 열마다 셀 작업
(6) 저장
(7) 프로그램 종료
예:
       
// 
Excel.Application app = new Excel.Application();
// workbook 
Excel.Workbook workbook = app.Workbooks.Add(true);
// worksheet 
Excel.Worksheet worksheet = workbook.Worksheets[1];
worksheet.Name = "sheet1";
// 
// 
for (int col = 0; col < ds .Tables [0].Columns .Count ; col++)
{
    worksheet.Cells[1, col + 1] = ds.Tables[0].Columns[col].ColumnName;
}
// 
for (int i = 0; i < ds .Tables [0].Rows .Count ; i++)
{
    for (int j = 0; j < ds .Tables [0].Columns .Count ; j++)
    {
        worksheet.Cells[i + 2, j + 1] = ds.Tables[0].Rows[i][j].ToString();
    }
}
// ( )
workbook.SaveAs(Server.MapPath(@"~/studens.xls"));
// 
app.Workbooks.Close();
app.Quit();
app = null;

3.excel Gridview 가져오기
(1) 정상
           
string path =Server .MapPath("~/GFbook.xls");
OleDbConnection conn =new OleDbConnection                                         ("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;\";Data Source="+path);
conn.Open();
// 
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet1$]", conn);
// dataset 
DataSet ds = new DataSet();
adp.Fill(ds);
// 
conn.Close();
// 
adp.Dispose();
// gridview 
gvExcel.DataSource = ds;
gvExcel.DataBind();

(2) 혼합(HDR = YES; IMEX=1)
       
// 
string path = Server.MapPath("~/GFbook.xls");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
// 
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet2$]", conn);
// dataset 
DataSet ds = new DataSet();
adp.Fill(ds);
// 
conn.Close();
// 
adp.Dispose();
// gridview 
gvExcel.DataSource = ds;
gvExcel.DataBind();

(3) 전면 8열(TypeGuessRows=0 설정)
       
string path = Server.MapPath("~/GFbook.xls");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
// 
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet3$]", conn);
// dataset 
DataSet ds = new DataSet();
adp.Fill(ds);
// 
conn.Close();
// 
adp.Dispose();
// gridview 
gvExcel.DataSource = ds;
gvExcel.DataBind();

4. 데이터베이스의 데이터를 클라이언트(클라이언트)로 내보내기
   (1)Aspose.cells 구성 요소:
도입 using Aspose.excel;
 
(2) 워크북 만들기 작업 목록
       workbook wb =new workbook();
(3)worksheet 대상 만들기
       worksheet ws=wb.worksheets.add("xxx");
(4) 조작 보상 셀
       Cells cells =ws.Cells;
       cells[A1].Putvalue("value");
(5) 객체 저장
       SaveOptions so = wb.SaveOptions ;
       so .SaveFormart = SaveFormart.auto;//기본 유형
       wb.save(Response, 파일 이름, ContentDispostion. Attachment, so);
       
5.office api(excel)
버전 6.2003 연결 문자열:
        OleDbConnection conn =new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;                                         Extended Properties=\"Excel 8.0;\";Data Source="+path);
7.2007 버전 연결 문자열:
        OleDbConnection conn =new OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;                                     Extended Properties=\"Excel 12.0;\";Data                                                                                   Source="+path);
8. 헤드 파일 추가: 시스템 사용.Data.oleDB;
9. 현재 프로그램 경로:
(1) 있는 경로: system.AppDomain.CurrentDomain.BaseDireCtory;
(2) 파일 실행 경로: system.Environment.CurrentDdirectory;

좋은 웹페이지 즐겨찾기