Beispiel #1
0
        private HSSF.UserModel.HSSFWorkbook V1()
        {
            HSSF.UserModel.HSSFWorkbook wb    = new HSSF.UserModel.HSSFWorkbook();
            SS.UserModel.ISheet         sheet = wb.CreateSheet("Sheet1");
            SS.UserModel.IRow           row   = sheet.CreateRow(0);
            row.CreateCell(0);
            row.CreateCell(1);
            row.Cells[0].SetCellValue("t");
            row.Cells[1].SetCellValue("p");
            //row.CreateCell(0).SetCellValue("t");也可以這樣寫

            row = sheet.CreateRow(1);
            row.CreateCell(0);
            row.CreateCell(1);
            row.Cells[0].SetCellValue("1");
            row.Cells[1].SetCellValue("0");
            //不用再add回sheet.

            row = sheet.CreateRow(2);
            row.CreateCell(0);
            row.CreateCell(1);
            row.Cells[0].SetCellValue("b");
            row.Cells[1].SetCellValue("w");
            //不用再add回sheet.

            return(wb);
        }
Beispiel #2
0
        //範例二,DataTable轉成Excel檔案的方法
        private void write(DataTable dt, string fileName)
        {
            try
            {
                //建立Excel 2003檔案
                SS.UserModel.IWorkbook wb = new HSSF.UserModel.HSSFWorkbook();
                SS.UserModel.ISheet    sheet;

                ////建立Excel 2007檔案
                //IWorkbook wb = new XSSFWorkbook();
                //ISheet ws;

                if (dt.TableName != string.Empty)
                {
                    sheet = wb.CreateSheet(dt.TableName);
                }
                else
                {
                    sheet = wb.CreateSheet("Sheet1");
                }

                sheet.CreateRow(0);//第一行為欄位名稱
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    sheet.GetRow(0).CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
                }

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    sheet.CreateRow(i + 1);
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        sheet.GetRow(i + 1).CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
                    }
                }

                System.IO.FileStream file = new System.IO.FileStream(fileName, System.IO.FileMode.Create); //1.產生檔案
                wb.Write(file);                                                                            //2.put steam to file
                file.Close();                                                                              //3.close file
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
0
        //範例二,DataTable轉成Excel檔案的方法
        private SS.UserModel.IWorkbook V2()
        {
            DataTable dt = new DT().GetDataTable();

            //建立Excel 2003檔案
            SS.UserModel.IWorkbook wb = new HSSF.UserModel.HSSFWorkbook();
            SS.UserModel.ISheet    sheet;

            ////建立Excel 2007檔案
            //IWorkbook wb = new XSSFWorkbook();
            //ISheet ws;

            if (dt.TableName != string.Empty)
            {
                sheet = wb.CreateSheet(dt.TableName);
            }
            else
            {
                sheet = wb.CreateSheet("Sheet1");
            }

            sheet.CreateRow(0);//第一行為欄位名稱
            for (int i = 0; i < dt.Columns.Count; i++)
            {
                sheet.GetRow(0).CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
            }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sheet.CreateRow(i + 1);
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    sheet.GetRow(i + 1).CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
                }
            }
            return(wb);
        }