NPOI Excel 파일 내보내기

5158 단어 C#ExcelNPOI
NPOI는 Office COM 구성 요소가 필요 없고 Office에 의존하지 않습니다. NPOI를 사용하면 개발자가 마이크로소프트 Office를 설치하지 않은 상황에서 Office 97-2003의 파일을 읽고 쓸 수 있도록 도와줍니다. 지원하는 파일 형식은 xls,doc,ppt 등을 포함합니다.NPOI는 POI 3에 구축되어 있습니다.x 버전 위에 있는 것은 Office를 설치하지 않은 상태에서 Word/Excel 문서를 읽고 쓸 수 있습니다.
EXCEL을 조작하기 위한 궁극적 방안으로 불리는데, 예를 들면 다음과 같다.
 ITable pXbTable = XYGlobalVariable.ZDBAdoWorkspace.OpenTable(XYTableDeclare.c_ZCPG_XB_PY_AFTERINVESTIGATE);
            DataTable pXBTable = pXbTable.GetDataTable(new QueryFilter() { WhereString = "XMBH='" + cmbXMBH.SelectedValue.ToString() + "'", AddCaptionField = true });
            RowBase pRowXM = XYGlobalVariable.ZDBAdoWorkspace.OpenTable(XYTableDeclare.c_XMJBXX_TableName).GetEntity<RowBase>(new QueryFilter() { WhereString = string.Format("XMBH ='{0}'", cmbXMBH.SelectedValue.ToString()) });
          
            try
            { 
                // WorkBook “ .xls”
                string xlsPath_LM = System.Windows.Forms.Application.StartupPath + "\\Temp\\ .xls";
                IWorkbook wb_LM = new HSSFWorkbook(new FileStream(xlsPath_LM, FileMode.Open));
                // Sheet 0 Sheet
                ISheet TempSheet_LM = wb_LM.GetSheetAt(0);
                int StartRow = 4;
                //pXBTable Query 
                for (int i = 0; i < pXBTable.Rows.Count; i++)
                {
                    // " " 
                    TempSheet_LM.GetRow(StartRow + i).Cells[0].SetCellValue(Convert.ToString(pRowXM["ZL"]));
                    TempSheet_LM.GetRow(StartRow + i).Cells[1].SetCellValue(Convert.ToString(pXBTable.Rows[i]["XBH"]));
                    if (!string.IsNullOrEmpty(pXBTable.Rows[i]["XBMJ"].ToString()))
                    { TempSheet_LM.GetRow(StartRow + i).Cells[2].SetCellValue(Convert.ToDouble(pXBTable.Rows[i]["XBMJ"])); }

                    TempSheet_LM.GetRow(StartRow + i).Cells[3].SetCellValue(Convert.ToString(pXBTable.Rows[i]["YSSZ_DESC"]));
                    TempSheet_LM.GetRow(StartRow + i).Cells[5].SetCellValue(Convert.ToString(pXBTable.Rows[i]["LZU_DESC"]));
                    if (!string.IsNullOrEmpty(pXBTable.Rows[i]["GQXJ"].ToString()))
                    { TempSheet_LM.GetRow(StartRow + i).Cells[6].SetCellValue(Convert.ToDouble(pXBTable.Rows[i]["GQXJ"])); }
                    if (!string.IsNullOrEmpty(pXBTable.Rows[i]["XBXJ"].ToString()))
                    { TempSheet_LM.GetRow(StartRow + i).Cells[7].SetCellValue(Convert.ToDouble(pXBTable.Rows[i]["XBXJ"])); }
                    if (!string.IsNullOrEmpty(pXBTable.Rows[i]["LMGQPGZ"].ToString()))
                    { TempSheet_LM.GetRow(StartRow + i).Cells[8].SetCellValue(Convert.ToDouble(pXBTable.Rows[i]["LMGQPGZ"])); }
                    if (!string.IsNullOrEmpty(pXBTable.Rows[i]["XBLMPGZ"].ToString()))
                    { TempSheet_LM.GetRow(StartRow + i).Cells[9].SetCellValue(Convert.ToDouble(pXBTable.Rows[i]["XBLMPGZ"])); }

                    //// Row Create 
                    //TempSheet.CreateRow(StartRow + i).CreateCell(0).SetCellValue(Convert.ToString(pXBTable.Rows[i][0]));
                    //// Row Get 
                    //TempSheet.GetRow(StartRow + i).CreateCell(1).SetCellValue(Convert.ToString(pXBTable.Rows[i][1]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(2).SetCellValue(Convert.ToString(pXBTable.Rows[i][2]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(3).SetCellValue(Convert.ToString(pXBTable.Rows[i][3]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(4).SetCellValue(Convert.ToString(pXBTable.Rows[i][4]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(5).SetCellValue(Convert.ToString(pXBTable.Rows[i][5]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(6).SetCellValue(Convert.ToString(pXBTable.Rows[i][6]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(7).SetCellValue(Convert.ToString(pXBTable.Rows[i][7]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(8).SetCellValue(Convert.ToString(pXBTable.Rows[i][8]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(9).SetCellValue(Convert.ToString(pXBTable.Rows[i][9]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(10).SetCellValue(Convert.ToString(pXBTable.Rows[i][10]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(11).SetCellValue(Convert.ToString(pXBTable.Rows[i][11]));
                    //TempSheet.GetRow(StartRow + i).CreateCell(12).SetCellValue(Convert.ToString(pXBTable.Rows[i][12]));
                }
                // 
                using (FileStream file_LM = new FileStream(strExcelFileName + "\\ .xls", FileMode.Create))
                {
                    wb_LM.Write(file_LM);
                    file_LM.Close();
                    file_LM.Dispose();
                }
            }
            catch (Exception ex)
            {
                string a = ex.ToString();
            } 

좋은 웹페이지 즐겨찾기