Exemple #1
0
        private DataTable GetData(ExcelContext context)
        {
            DataTable dt = new DataTable();

            try
            {
                string ext = Path.GetExtension(context.ExcelFile);
                Net.SourceForge.Koogra.IWorkbook wb = null;
                if (ext.Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
                {
                    wb = (Net.SourceForge.Koogra.WorkbookFactory.GetExcel2007Reader(context.ExcelFile));
                }
                else if (ext.Equals(".xls", StringComparison.OrdinalIgnoreCase))
                {
                    wb = (Net.SourceForge.Koogra.WorkbookFactory.GetExcelBIFFReader(context.ExcelFile));
                    //读链接内容
                    Net.SourceForge.Koogra.Excel.Workbook workbook = wb as Net.SourceForge.Koogra.Excel.Workbook;
                    context.Links = workbook.HyperLinks.AsEnumerable().Select(c => c.Link).ToList();
                }

                Net.SourceForge.Koogra.IWorksheet ws = wb.Worksheets.GetWorksheetByIndex(0);
                int  rowIndex    = 0;
                int  columnIndex = 0;
                uint firstRow    = ws.FirstRow;
                if (!context.IncludeHeader)
                {
                    firstRow += 1;
                }
                for (uint r = firstRow; r <= ws.LastRow; ++r)
                {
                    dt.ExpandRow(rowIndex);
                    Net.SourceForge.Koogra.IRow row = ws.Rows.GetRow(r);
                    if (row != null)
                    {
                        for (uint colCount = ws.FirstCol; colCount <= ws.LastCol; ++colCount)
                        {
                            dt.ExpandColumn(columnIndex);
                            if (row.GetCell(colCount) != null && row.GetCell(colCount).Value != null)
                            {
                                dt.Rows[rowIndex][columnIndex] = row.GetCell(colCount).Value.ToString();
                            }
                            else
                            {
                                dt.Rows[rowIndex][columnIndex] = "";
                            }
                            columnIndex++;
                        }
                        columnIndex = 0;
                    }
                    rowIndex++;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(dt);
        }
Exemple #2
0
        private Net.SourceForge.Koogra.IWorkbook GetWorkBook(string fileName)
        {
            string ext = Path.GetExtension(fileName);

            Net.SourceForge.Koogra.IWorkbook wb = null;
            if (ext.Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
            {
                wb = (Net.SourceForge.Koogra.WorkbookFactory.GetExcel2007Reader(fileName));
            }
            else if (ext.Equals(".xls", StringComparison.OrdinalIgnoreCase))
            {
                wb = (Net.SourceForge.Koogra.WorkbookFactory.GetExcelBIFFReader(fileName));
                //读链接内容
                Net.SourceForge.Koogra.Excel.Workbook workbook = wb as Net.SourceForge.Koogra.Excel.Workbook;
            }
            return(wb);
        }
        void btnSave_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                if (fu.FileBytes.Length > 0)
                {
                    Net.SourceForge.Koogra.Excel.Workbook wb = new Net.SourceForge.Koogra.Excel.Workbook(fu.FileContent);
                    for (int i = 1; i <= wb.Sheets[0].Rows.MaxRow; i++)
                    {
                        sb.Append(InsertData(wb.Sheets[0].Rows[(uint)i]));
                    }
                    ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('导入数据完毕')</script>");
                }
            }
            catch
            {
                ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('导入数据错误,请检查导入文件,仅2003格式可以导入 ')</script>");
            }
        }
Exemple #4
0
        void btnSave_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                if (fu.FileBytes.Length > 0)
                {
                    Net.SourceForge.Koogra.Excel.Workbook wb = new Net.SourceForge.Koogra.Excel.Workbook(fu.FileContent);

                    for (int i = 1; i <= wb.Sheets[1].Rows.MaxRow; i++)
                    {
                        InsertData(wb.Sheets[1].Rows[(uint)i]);
                    }
                    this.img.Visible = false;
                    ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('导入数据完毕');var s = new Object();s.type='';window.returnValue=s;window.close();</script>");
                }
            }
            catch
            {
                ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('导入数据错误,请检查导入文件,仅2003格式可以导入 ')</script>");
            }
        }