首页 新闻 会员 周边

求助,c#中导出功能,将不同数据表信息导入到同一个excel中的不同sheet中,怎么实现?

0
[待解决问题]

求助,c#中导出功能,将不同数据表信息导入到同一个excel中的不同sheet中,怎么实现?

c#
阿连的主页 阿连 | 初学一级 | 园豆:136
提问于:2013-08-06 09:46
< >
分享
所有回答(7)
0

你查一下NPOI

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-08-06 10:04
0

好吧,这个没的说。NPOI,简简单单搞定~

幻天芒 | 园豆:37175 (高人七级) | 2013-08-06 10:56
0

You can use the DLL 'EPPlus',  The below is a sample URL for your reference.

http://addisonl.blogspot.hk/2013/04/create-excel-xlsx-via-epplus-epplus.html

TerryChan | 园豆:206 (菜鸟二级) | 2013-08-06 11:15
0

可以用NPOI来实现,在同一个workBook中创建多个sheet即可。这里贴一段实现的代码:

        private void buttonTest_Click(object sender, EventArgs e)
        {
            HSSFWorkbook workBook = new HSSFWorkbook();
            //ISheet sheetA = workBook.CreateSheet("sheetA");
            //ISheet sheetB = workBook.CreateSheet("sheetB");

            createSheet(workBook,"SheetA");
            createSheet(workBook,"SheetB");
            createSheet(workBook,"SheetC");

            string path = Application.StartupPath + @"\test.xls";
            if (File.Exists(path))
            {
                File.Delete(path);
            }
            using (FileStream file = new FileStream(path, FileMode.Create))
            {
                workBook.Write(file);  //创建Excel文件。
                file.Close();
            }
            MessageBox.Show("OK");
        }

        private ISheet createSheet(HSSFWorkbook workBook, string sheetName)
        {
            ISheet sheet = workBook.CreateSheet(sheetName);
            IRow RowHead = sheet.CreateRow(0);

            for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
            {
                RowHead.CreateCell(iColumnIndex).SetCellValue(Guid.NewGuid().ToString());
            }

            for (int iRowIndex = 0; iRowIndex < 20; iRowIndex++)
            {
                IRow RowBody = sheet.CreateRow(iRowIndex + 1);
                for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
                {
                    RowBody.CreateCell(iColumnIndex).SetCellValue(DateTime.Now.Millisecond);
                    sheet.AutoSizeColumn(iColumnIndex);
                }
            }
            return sheet;
        }
_学而时习之 | 园豆:209 (菜鸟二级) | 2013-08-06 13:27
0

you can use the dll "aspose.excel" or "aspose.cells"

+小马哥++ | 园豆:906 (小虾三级) | 2013-08-06 16:47
0

将数据源都读出来,然后在内存里组织,然后流文件写出来~~

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2013-08-06 22:51
0

直接用用odbc 操作excel数据库就可以了。一个sheet相当于一个表。和操作一般数据库一样的。

bos_kg | 园豆:7 (初学一级) | 2013-08-07 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册