private DataTable ConvertRCPAExcelToDataTable(System.Web.HttpPostedFileBase postedFile)
        {
            IFileProvider fileProvider  = new FileSystemProvider();
            IExcelFactory excelFactory  = new ExcelFactory();
            CurrentInfo   objCurInfo    = new CurrentInfo();
            string        containerName = objCurInfo.GetCompanyCode().ToLower();
            string        fileName      = postedFile.FileName;

            string[] excelRetrieveColumns = new string[] { "*" };

            _employeeExcelTemplateFileName = fileProvider.GetFilePathToSave(UPLOAD_PATH_KEY_NAME, fileName);
            string whereQuery = " LEN(Region_Name) >0 ";

            //  postedFile.SaveAs(_employeeExcelTemplateFileName);

            DataControl.Repository.AzureBlobUpload objAzureUpload = new Repository.AzureBlobUpload();
            DataControl.Abstraction.IFileProvider  objPathProv    = new DataControl.Impl.FileSystemProvider();

            string accKey = objPathProv.GetConfigValue("UPLOADEDFILEBLOBACCKEY");

            string blobURL = objAzureUpload.PutAzureBlobStorage(postedFile.InputStream, postedFile.FileName, accKey, containerName);

            System.IO.Stream stream = objAzureUpload.AzureblockDownload(postedFile.FileName, accKey, containerName);
            DataTable        dt     = new DataTable();

            dt = objAzureUpload.ConvertStreamToDataTable(stream, "D_Doctor_Name");
            return(dt);
        }
Example #2
0
        private string GetBlockOfExcelData(string fileName, string sheetName, int rowStart, int rowEnd)
        {
            const int        MAX_COLUMN_NUMBER = 256;
            ExcelFactory     factory           = ExcelFactory.CreateInstance(ExcelApplicationType.TMS, ExcelGarbageCollectionStyle.DesktopApplication);
            ExcelApplication app          = factory.AddApplication();
            ExcelWorkbook    bookInitial  = app.AddWorkbook("initial", fileName);
            ExcelWorksheet   sheetInitial = bookInitial[sheetName];
            ExcelWorkbook    bookResult   = app.AddWorkbook("final");

            _context.Log.AddLogInformation("XLS-файл успешно загружен в память. Создан пустая результирующая книга.");
            bookResult.CopyRange(bookInitial, sheetInitial.Number, rowStart, 1, rowEnd, MAX_COLUMN_NUMBER, 2, 1, 1);
            _context.Log.AddLogInformation("Диапазон скопирован в новую книгу");
            ExcelWorksheet sheetResult = bookResult[1];

            for (int i = 0; i < MAX_COLUMN_NUMBER; i++)
            {
                sheetResult.WriteValue(1, i + 1, 1);
            }
            _context.Log.AddLogInformation("Заполнили единицами первую строку результирующего листа");

            string fileNameResult = Path.Combine(_context.ExecutedPackage.PackagePath, Guid.NewGuid().ToString("N") + ".xls");

            _context.Log.AddLogInformation("Готовы сохранить результирующий файл в '" + fileNameResult + "'");
            bookResult.Save(fileNameResult);
            _context.Log.AddLogInformation("Результирующий файл сохранен.");

            return(fileNameResult);
        }
Example #3
0
        public HttpResponseMessage Upload()
        {
            HttpPostedFile file = HttpContext.Current.Request.Files["school"];

            ErrMsg         msg    = new ErrMsg();
            IImport        import = ExcelFactory.Instance().GetExcelImporter(new eh.impls.configurations.ExcelConfiguration(1, 0, 0), msg);
            IList <School> list   = SchoolDto.ToList(import.Import <SchoolDto>(file.InputStream));

            if (msg.Count != 0)
            {
                return(ToJson(msg.GetErrors(), status_code: 0, msg: "fail"));
            }
            else
            {
                try
                {
                    Service.Add(list);
                    return(ToJson("success"));
                }
                catch (SqlException ex)
                {
                    msg.AddErrMsg(ex.Message);
                    return(ToJson(msg.GetErrors(), status_code: 0, msg: "fail"));
                }
            }
        }
Example #4
0
        private static void Main()
        {
            // Save the time stamp and starting memory
            Console.WriteLine(@"Starting ...");
            var start       = DateTime.Now;
            var startMemory = _maxMemory = Process.GetCurrentProcess().WorkingSet64;

            // Profile the excel generation
            var factory = new ExcelFactory();

            using (var ms = new MemoryStream()) {
                using (var excel = factory.CreateWriter(ms)) {
                    excel.WriteRecords(GenerateRecords());

                    // Call close before we dispose of our classes, so we can measure the total memory used
                    excel.Close();
                    _maxMemory = Math.Max(Process.GetCurrentProcess().WorkingSet64, _maxMemory);
                }
            }

            // Write out how long it took and how much memory was used
            var usedMemory = _maxMemory - startMemory;
            var elapsed    = DateTime.Now - start;

            Console.WriteLine(@"Done!");
            Console.WriteLine(@"Process took: {0} minutes and {1} seconds", Math.Floor(elapsed.TotalMinutes), elapsed.Seconds);
            Console.WriteLine(@"Process used: {0:F1}MB", usedMemory / 1048576.0);
        }
Example #5
0
        /// <summary>
        /// 业务逻辑
        /// </summary>
        /// <param name="excelId"></param>
        /// <param name="accountItemIds"></param>
        /// <param name="financialDataItemIds"></param>
        /// <param name="qiJianTypeId"></param>
        /// <returns></returns>
        public Stream Process(int excelId, string accountItemIds, string financialDataItemIds, int qiJianTypeId, int onlyStatisticChildren, int xiangMuTreeTypeId, int statisticAccountChildren)
        {
            var result     = new List <List <string> >();
            var columnData = _financialDataExtendBLL.GetGridColumns(excelId, financialDataItemIds, onlyStatisticChildren, xiangMuTreeTypeId);
            var gridData   = _financialDataExtendBLL.GetGridData(excelId, accountItemIds, financialDataItemIds, qiJianTypeId, onlyStatisticChildren, xiangMuTreeTypeId, statisticAccountChildren);
            var columnList = new List <string>();

            foreach (var gridColumn in columnData.GridColumns)
            {
                columnList.Add(gridColumn.text);
            }
            result.Add(columnList);
            foreach (var dataDic in gridData.rows)
            {
                var dataList = new List <string>();
                foreach (var gridColumn in columnData.GridColumns)
                {
                    dataList.Add(dataDic[gridColumn.dataIndex]);
                }
                result.Add(dataList);
            }
            var excelBuilder = ExcelFactory.CreateBuilder();
            var sheet        = excelBuilder.InsertSheet("统计数据");

            sheet.InsertSheetContent(ExcelExportRequest.GetInstance(result));
            var stream = new MemoryStream();

            excelBuilder.Save(stream, SaveFormat.Xlsx);
            stream.Position = 0;
            return(stream);
        }
Example #6
0
        public ActionResult ImportPay()
        {
            if (Request.Files.Count == 0)
            {
                Object o = new
                {
                    success = false,
                    data    = "上传失败,请选择需要上传的EXCEL"
                };
                JsonResult r = Json(o, JsonRequestBehavior.AllowGet);
                return(r);
            }

            string    message  = string.Empty;
            string    fileName = System.IO.Path.GetFileNameWithoutExtension(Request.Files[0].FileName);
            IExcel    excel    = ExcelFactory.CreateDefault();
            DataSet   ds       = excel.Read(Request.Files[0].InputStream);
            DataTable dt       = ds.Tables[0];

            bool   pass   = new Manager.PayManager().ImportPaymentData(dt, fileName, ref message);
            Object result = new
            {
                success = pass,
                data    = message
            };
            JsonResult jsonResult = Json(result, JsonRequestBehavior.AllowGet);

            return(jsonResult);
        }
        public ActionResult ExportPayDetail(string payMonth)
        {
            IExcel         excel   = ExcelFactory.CreateDefault();
            PaymentManager payment = new PaymentManager();
            DataSet        ds      = payment.ExportDetail(payMonth);
            POIStream      stream  = new POIStream();

            stream.AllowClose = false;
            excel.Write(stream, ds, ExcelExtendType.XLSX);
            stream.AllowClose = true;
            byte[] buffer = new byte[stream.Length];
            stream.Position = 0;
            stream.Read(buffer, 0, buffer.Length);
            stream.Close();

            HttpResponse context = System.Web.HttpContext.Current.Response;

            try
            {
                context.ContentType = "application/ms-excel";
                context.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xlsx", HttpUtility.UrlEncode(payMonth + "个税信息", System.Text.Encoding.UTF8)));
                context.BinaryWrite(buffer);
                context.Flush();
                context.End();
            }
            catch (Exception ex)
            {
                context.ContentType = "text/plain";
                context.Write(ex.Message);
            }
            return(null);
        }
        /// <summary>
        /// 业务逻辑
        /// </summary>
        /// <param name="excelId"></param>
        /// <returns></returns>
        public Stream Process(string ids)
        {
            var excelDatas = new List <List <string> >();

            excelDatas.Add(GetExcelTitel());
            var idsArr      = ids.Split(',');
            var companyList = new List <Company>();
            var areas       = _companyBll.GetAllArea();

            foreach (var id in idsArr)
            {
                if (string.IsNullOrEmpty(id))
                {
                    continue;
                }
                var idArr  = id.Split('_');
                var findId = Convert.ToInt32(idArr[1]);
                if (idArr[0] == "1")
                {
                    var companys = _companyBll.GetCompanyByAreaId(findId);
                    if (companys != null)
                    {
                        companyList.AddRange(companys);
                    }
                }
                else
                {
                    var company = _companyBll.GetCompanyByKey(findId);
                    if (company != null)
                    {
                        companyList.Add(company);
                    }
                }
            }
            foreach (var company in companyList)
            {
                var area           = areas.FirstOrDefault(x => x.AreaId == company.AreaId);
                var companyRecords = _companyBll.GetCompanyconnectrecordByCompanyId(company.CompanyId);
                if (companyRecords != null && companyRecords.Count > 0)
                {
                    foreach (var record in companyRecords)
                    {
                        excelDatas.Add(GetOneCellData(area, company, record));
                    }
                }
                else
                {
                    excelDatas.Add(GetOneCellData(area, company, new CompanyConnectRecord()));
                }
            }
            var excelBuilder = ExcelFactory.CreateBuilder();
            var sheet        = excelBuilder.InsertSheet("sheet1");

            sheet.InsertSheetContent(ExcelExportRequest.GetInstance(excelDatas));
            var stream = new MemoryStream();

            excelBuilder.Save(stream, SaveFormat.Xlsx);
            stream.Position = 0;
            return(stream);
        }
Example #9
0
        private DataTable ConvertCCMExcelToDataTable(System.Web.HttpPostedFileBase postedFile)
        {
            IFileProvider fileProvider  = new FileSystemProvider();
            IExcelFactory excelFactory  = new ExcelFactory();
            CurrentInfo   objCurInfo    = new CurrentInfo();
            string        containerName = objCurInfo.GetCompanyCode().ToLower();
            string        fileName      = postedFile.FileName;

            string[] excelRetrieveColumns = new string[] { "Row_No", "Customer_Name", "Sur_Name", "Speciality_Name", "Gender", "Qualification", "Address1",
                                                           "Address2", "Local_Area", "Pin_Code", "City", "State", "Country", "Phone", "Mobile", "Fax", "Email", "Hospital_Name", "Hospital_Classification",
                                                           "DOB", "Anniversary_Date", "Registration_No" };

            _CCMExcelTemplateFileName = fileProvider.GetFilePathToSave(UPLOAD_PATH_KEY_NAME, fileName);
            string whereQuery = " LEN(Customer_Name) >0 ";

            DataControl.Repository.AzureBlobUpload objAzureUpload = new Repository.AzureBlobUpload();
            DataControl.Abstraction.IFileProvider  objPathProv    = new DataControl.Impl.FileSystemProvider();

            string accKey = objPathProv.GetConfigValue("UPLOADEDFILEBLOBACCKEY");

            string blobURL = objAzureUpload.PutAzureBlobStorage(postedFile.InputStream, postedFile.FileName, accKey, containerName);

            System.IO.Stream stream = objAzureUpload.AzureblockDownload(postedFile.FileName, accKey, containerName);
            DataTable        dt     = new DataTable();

            dt = objAzureUpload.ConvertStreamToDataTable(stream, "Customer_Name");
            return(dt);
        }
Example #10
0
        public ActionResult Import()
        {
            if (Request.Files.Count == 0)
            {
                Object failResult = new
                {
                    success = false,
                    data    = ""
                };
                JsonResult failJsonResult = Json(failResult, JsonRequestBehavior.AllowGet);
                return(failJsonResult);
            }

            IExcel    excel = ExcelFactory.CreateDefault();
            DataSet   ds    = excel.Read(Request.Files[0].InputStream);
            DataTable dt    = ds.Tables[0];
            string    message;
            bool      pass   = new EmployeeManager().ImportRecharges(dt, out message);
            Object    result = new
            {
                success = pass,
                data    = message
            };
            JsonResult jsonResult = Json(result, JsonRequestBehavior.AllowGet);

            return(jsonResult);
        }
Example #11
0
        public void CollectionExcelExportTest()
        {
            var datas = new List <Excel_Test>
            {
                new Excel_Test {
                    Name = "AAA", Age = 18, BirthDate = DateTime.Now, Enabled = true
                },
                new Excel_Test {
                    Name = "BBB", Age = 19, BirthDate = DateTime.Now, Enabled = true
                },
                new Excel_Test {
                    Name = "CCC", Age = 17, BirthDate = DateTime.Now, Enabled = true
                },
                new Excel_Test {
                    Name = "DDD", Age = 16, BirthDate = DateTime.Now, Enabled = true
                },
                new Excel_Test {
                    Name = "EEE", Age = 18, BirthDate = DateTime.Now, Enabled = true
                }
            };

            var excel = ExcelFactory.Create("test_sheet", datas);
            var bytes = excel.SaveAsBytes();

            this.Save(@"D:\Collection_Test.xlsx", bytes);

            Assert.IsNotNull(bytes);
        }
Example #12
0
    // 加载指定路径的表格;
    public static void LoadExcel(string className, string fileName)
    {
#if UNITY_EDITOR
        TextAsset textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath <TextAsset>(fileName);
#else
        TextAsset textAsset = Resources.Load <TextAsset>(fileName);
#endif
        if (textAsset == null)
        {
            Debug.LogError(fileName + "加载失败");
            return;
        }

        string excelContent = textAsset.text;
        if (string.IsNullOrEmpty(excelContent))
        {
            //Debug.Log("loadfile=" + fileName);
            using (StringReader reader = new StringReader(excelContent))
            {
                // 表头;
                string lineData = reader.ReadLine();

                while (!string.IsNullOrEmpty(lineData))
                {
                    lineData = reader.ReadLine();
                    if (!string.IsNullOrEmpty(lineData))
                    {
                        string[] datas = lineData.Split(Separators, StringSplitOptions.None); // 不移除空格子

                        var line = ExcelFactory.InitExcelLine(className, datas);
                    }
                }
            }
        }
    }
Example #13
0
        public void WriteMoreDataTypeTest()
        {
            string    file  = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t3.xlsx";
            IExcel    excel = ExcelFactory.CreateDefault();
            DataSet   ds    = excel.Read(file);
            DataTable dt    = ds.Tables[0];

            Assert.IsNotNull(ds);
        }
        public void DataReaderExcelExportTest()
        {
            var sql        = "SELECT Name, Sex, Age, Birthdate, Address FROM Students";
            var dataReader = this.ExecuteReader(sql);

            var excel = ExcelFactory.Create("test_sheet", dataReader);
            var bytes = excel.SaveAsBytes();

            this.Save(@"D:\DataReader_Test.xlsx", bytes);
        }
Example #15
0
        public void ReadTest()
        {
            string  file      = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t1.xls";
            IExcel  excel     = ExcelFactory.CreateDefault();
            DataSet ds        = excel.Read(file);
            int     realCount = 7;
            int     count     = ds.Tables[0].Rows.Count;

            Assert.IsTrue(count == realCount);
        }
Example #16
0
        public void ReadTest2()
        {
            string    file      = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t2.XLSX";
            IExcel    excel     = ExcelFactory.CreateDefault();
            DataTable dt        = excel.Read(file, 0, 2);
            int       realCount = 10;
            int       count     = dt.Rows.Count;

            Assert.IsTrue(count == realCount);
        }
Example #17
0
        public byte[] ExecuteExcelExport(string sheetName)
        {
            var connectionOpt    = this.GetConnectionOption();
            var sqlQueryAndParms = this.GetSqlQueryAndParms(SelectClauseBuildMode.Raw);
            var reader           = DatabaseReader.Create(connectionOpt.Item1, connectionOpt.Item2)
                                   .Reader.GetDataReader(sqlQueryAndParms.Item1, sqlQueryAndParms.Item2);

            var excel = ExcelFactory.Create(sheetName, reader);

            return(excel.SaveAsBytes());
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void ExportAllToExcel(object sender, EventArgs eventArgs)
        {
            SaveFileDialog sf = new SaveFileDialog {
                OverwritePrompt = true, Filter = "Excel 2007-2010|*.xlsx|Excel 97-2003|*.xls", AutoUpgradeEnabled = true
            };

            if (sf.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            ExportPart ep = new ExportPart {
                SheetName           = "Elräkningar",
                AutoFitColumnWidths = true
            };

            ep.Headers.Add("Total förbrukning (kWh)");
            ep.Headers.Add("Totalpris el");
            ep.Headers.Add("Totalpris grundavgift");
            ep.Headers.Add("OCR");
            ep.Headers.Add("Datum föregående avläsning");
            ep.Headers.Add("Förbrukning föregående avläsning");
            ep.Headers.Add("Datum nuvarande avläsning");
            ep.Headers.Add("Förbrukning nuvarande avläsning");
            ep.Headers.Add("Del i grundavgift");
            foreach (Bill b in Bills)
            {
                CellDataList cd = new CellDataList();
                ep.Data.Add(cd);
                cd.Add(EFD(b.TotalUsedKWh));
                cd.Add(EFD(b.TotalPriceElectricity));
                cd.Add(EFD(b.TotalPriceGroundFee));
                cd.Add(b.OCR, false);
                cd.Add(new DateTime(b.GuestLastReadingTicks).ToString("yyyy-MM-dd"));
                cd.Add(EFD(b.GuestLastReadingKWh));
                cd.Add(new DateTime(b.GuestCurrentReadingTicks).ToString("yyyy-MM-dd"));
                cd.Add(EFD(b.GuestCurrentReadingKWh));
                cd.Add(b.GuestPartInGroundFee);
            }
            if (File.Exists(sf.FileName))
            {
                try {
                    File.Delete(sf.FileName);
                } catch (Exception ex) {
                    MessageBox.Show("Kan inte skriva över existerande fil: {0}".FillBlanks(ex.Message));
                    return;
                }
            }
            using (Stream s = File.OpenWrite(sf.FileName)) {
                ExcelFactory.ExportList(s, new List <ExportPart>(new[] { ep }), sf.FilterIndex == 1 ? FileFormat.OpenXMLWorkbook : FileFormat.Excel8);
                s.Flush();
                s.Close();
            }
        }
Example #19
0
        public ActionResult ImportorEditor()
        {
            HttpFileCollection files  = System.Web.HttpContext.Current.Request.Files;
            string             outmsg = string.Empty;
            bool success = false;

            if (files.Count > 0)
            {
                for (int i = 0; i < files.Count; i++)
                {
                    HttpPostedFile file1    = files[i];
                    Stream         stream   = file1.InputStream;
                    DataTable      dt       = new DataTable();
                    string         fileName = System.IO.Path.GetFileNameWithoutExtension(file1.FileName);
                    string         fileType = System.IO.Path.GetExtension(file1.FileName).ToLower();
                    switch (fileType)
                    {
                    case ".csv":
                        CsvFileParser cfp = new CsvFileParser();
                        dt = cfp.TryParse(stream, out outmsg);
                        break;

                    case ".xls":
                    case ".xlsx":
                        success = false;
                        //outmsg = "文件:" + fileName + "的文件格式接口待开发!<br />";
                        IExcel  excel = ExcelFactory.CreateDefault();
                        DataSet ds    = excel.Read(stream);
                        dt = ds.Tables[0];
                        break;

                    default:
                        success = false;
                        outmsg += "文件:" + fileName + "格式不支持!<br />";
                        break;
                    }
                    success = new Manager.PayManager().ImportInsurance(dt, fileName, ref outmsg);
                }
            }
            else
            {
                outmsg += "未获取到文件,请重试!<br />";
            }
            if (success)
            {
                outmsg = "上传成功!<br />" + outmsg;
            }
            else
            {
                outmsg = "上传失败!<br />" + outmsg;
            }
            return(Json(outmsg));
        }
        private void Apply_Click(object sender, RoutedEventArgs e)
        {
#if DEBUG
            List <string> titleList   = new List <string>();
            List <string> contentList = new List <string>();
            foreach (var item in Histories)
            {
                titleList.Add(item.Title);
                contentList.Add(item.Description);
            }
            IExcel excel = ExcelFactory.GetExcel();
            excel.SaveHistory(CharToIntColumnName(ConfigExcelFormat.TitleColumn), CharToIntColumnName(ConfigExcelFormat.ContentColumn), titleList, contentList);
#endif
        }
Example #21
0
        public void WriteXlsxTest()
        {
            string    file  = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t2.xlsx";
            IExcel    excel = ExcelFactory.CreateDefault();
            DataTable dt    = excel.Read(file, 0, 2);

            DataSet ds = new DataSet();

            ds.Tables.Add(dt);

            TTemplate template = new TTemplate();
            TRow      R1       = new TRow();
            TCell     A        = new TCell("A", "A", 0, 0); A.ColSpan = 2;
            TCell     B        = new TCell("", "B", 0, 2);
            TCell     C        = new TCell("C", "C", 0, 3); C.RowSpan = 2;
            TCell     D        = new TCell("D", "D", 0, 4); D.RowSpan = 2;
            TCell     E        = new TCell("", "E", 0, 5); E.ColSpan = 2;

            R1.Cells.Add(A);
            R1.Cells.Add(B);
            R1.Cells.Add(C);
            R1.Cells.Add(D);
            R1.Cells.Add(E);

            TRow  R2 = new TRow();
            TCell A1 = new TCell("A1", "A1", 1, 0);
            TCell A2 = new TCell("A2", "A2", 1, 1);
            TCell B1 = new TCell("B1", "B1", 1, 2);
            TCell E1 = new TCell("E1", "E1", 1, 5);
            TCell E2 = new TCell("E2", "E2", 1, 6);

            R2.Cells.Add(A1);
            R2.Cells.Add(A2);
            R2.Cells.Add(B1);
            R2.Cells.Add(E1);
            R2.Cells.Add(E2);
            TSheet tsheet = new TSheet();

            tsheet.Name  = "Sheet1";
            tsheet.Title = "表格O";
            tsheet.Head.Rows.Add(R1);
            tsheet.Head.Rows.Add(R2);
            template.Sheets.Add(tsheet);

            string outputFilePath = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/out2.xlsx";
            bool   result         = excel.WriteFile(outputFilePath, ds, template);

            Assert.IsTrue(result);
        }
Example #22
0
        public void WriteXlsxTestByTemplate()
        {
            string    file  = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t4.xlsx";
            IExcel    excel = ExcelFactory.CreateDefault();
            DataTable dt    = excel.Read(file, 0, 1);
            DataSet   ds    = new DataSet();

            ds.Tables.Add(dt);

            string templateName   = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/template.xml";
            string outputFilePath = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/out4.xlsx";
            bool   result         = excel.WriteFile(outputFilePath, ds, templateName);

            Assert.IsTrue(result);
        }
Example #23
0
        public void WriteXlsTest()
        {
            string    file  = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/t1.xls";
            IExcel    excel = ExcelFactory.CreateDefault();
            DataTable dt    = excel.Read(file, 0, 1);
            DataSet   ds    = new DataSet();

            ds.Tables.Add(dt);

            MemoryStream stream1 = new MemoryStream();

            excel.Write(stream1, ds, ExcelExtendType.XLS);
            string outputFilePath = AppDomain.CurrentDomain.BaseDirectory + "/ExcelTests/out1.xls";
            bool   result         = excel.WriteFile(outputFilePath, stream1);

            Assert.IsNotNull(result);
        }
        private void Refresh_Click(object sender, RoutedEventArgs e)
        {
            Histories = new ObservableCollection <HistoryGridModel>();
            List <string> titleList   = new List <string>();
            List <string> contentList = new List <string>();
            var           instance    = ExcelFactory.GetExcel();

            instance.ReadHistory(CharToIntColumnName(ConfigExcelFormat.TitleColumn), CharToIntColumnName(ConfigExcelFormat.ContentColumn), titleList, contentList);
            for (int i = 0; i < titleList.Count; i++)
            {
                Histories.Add(new HistoryGridModel()
                {
                    Title = titleList[i], Description = contentList[i]
                });
            }
            ((System.Windows.Controls.Grid) this.Parent).Children.Add(new UserControlHistory());
        }
Example #25
0
        private void ExcelMenuOnClick(object sender, EventArgs eventArgs)
        {
            if (selectedAccount == null)
            {
                return;
            }
            SaveFileDialog sf = new SaveFileDialog {
                OverwritePrompt = true, Filter = "Excel 2007-2010|*.xlsx|Excel 97-2003|*.xls"
            };

            if (sf.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            ExportPart ep = new ExportPart {
                SheetName = selectedAccount.Name, AutoFitColumnWidths = true
            };

            ep.Headers.Add("Datum");
            ep.Headers.Add("Summa");
            ep.Headers.Add("Kommentar");
            foreach (AccountTransaction t in selectedAccount.Transactions)
            {
                CellDataList cd = new CellDataList();
                ep.Data.Add(cd);
                cd.Add(t.Date);
                string a = t.Amount.ToString();
                if (a.Contains(","))
                {
                    a = a.Replace(",", ".");
                }
                cd.Add(a);
                cd.Add(t.Comment);
            }
            FileFormat format = sf.FilterIndex == 1 ? FileFormat.OpenXMLWorkbook : FileFormat.Excel8;

            if (File.Exists(sf.FileName))
            {
                File.Delete(sf.FileName);
            }
            using (Stream stream = sf.OpenFile()) {
                ExcelFactory.ExportList(stream, new List <ExportPart>(new[] { ep }), format);
                stream.Flush();
            }
        }
Example #26
0
        public void TestImport()
        {
            ErrMsg         msg    = new ErrMsg();
            IImport        import = ExcelFactory.Instance().GetExcelImporter(new ExcelConfiguration(1, 0, 0), msg);
            FileStream     fs     = new FileStream(@"D:\projects\yueyouyuebei\src\TravelAgent.Web\TravelAgent.WebAPI\template\school.xls", FileMode.Open);
            IList <School> list   = import.Import <School>(fs);

            if (msg.Count != 0)
            {
                msg.GetErrors().ForEach(s => { Console.WriteLine(s); });
                return;
            }

            foreach (School item in list)
            {
                Console.WriteLine(item.ToString());
            }
        }
Example #27
0
        public ActionResult Export()
        {
            List <CompanyInfo> list      = new Manager.EmployeeManager().GetCompanies(string.Empty);
            IExcel             excel     = ExcelFactory.CreateDefault();
            DataTable          dataTable = Converts.ListToDataTable <CompanyInfo>(list);

            dataTable.Columns["Name"].Caption           = "单位名称";
            dataTable.Columns["Code"].Caption           = "组织机构代码";
            dataTable.Columns["Representative"].Caption = "法人";
            dataTable.Columns["AccountBalance"].Caption = "账户余额";
            dataTable.Columns.Remove("CompanyId");
            dataTable.Columns.Remove("AccountId");
            dataTable.Columns.Remove("Positions");
            dataTable.Columns.Remove("Remark");
            DataSet dataSet = new DataSet();

            dataSet.Tables.Add(dataTable);
            POIStream stream = new POIStream();

            stream.AllowClose = false;
            excel.Write(stream, dataSet, ExcelExtendType.XLSX);
            stream.AllowClose = true;
            byte[] buffer = new byte[stream.Length];
            stream.Position = 0;
            stream.Read(buffer, 0, buffer.Length);
            stream.Dispose();

            HttpResponse context = System.Web.HttpContext.Current.Response;

            try
            {
                context.ContentType = "application/ms-excel";
                context.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xlsx", HttpUtility.UrlEncode("单位信息", System.Text.Encoding.UTF8)));
                context.BinaryWrite(buffer);
                context.Flush();
                context.End();
            }
            catch (Exception ex)
            {
                context.ContentType = "text/plain";
                context.Write(ex.Message);
            }
            return(null);
        }
Example #28
0
    // 加载类名相关的所有表格;
    public static bool ParseConfig(string className)
    {
        string[] files = ExcelFactory.GetFiles(className);

        ExcelFactory.ClearExcelFunc clearFunc = null;
        if (ExcelFactory.ClearFunctions.TryGetValue(className, out clearFunc))
        {
            clearFunc();
        }

        for (int i = 0; i < files.Length; ++i)
        {
            string fileName = ExcelRootDirectory + files[i] + ".txt";

            LoadExcel(className, fileName);
        }

        return(true);
    }
Example #29
0
        private byte[] GetBytesOfAttachment()
        {
            IDataReader dataReader = null;

            try
            {
                dataReader = this.GetDataReaderOfAttachment();
                var sheetname = this._attachmentTopic.TopicName;
                return(ExcelFactory.Create(sheetname, dataReader).SaveAsBytes());
            }
            catch (Exception)
            {
                if (dataReader != null && !dataReader.IsClosed)
                {
                    dataReader.Close();
                }

                this.SetErrorStatus("Create the dataReader failure.");
                return(null);
            }
        }
Example #30
0
        private static void Main()
        {
            // Save the time stamp
            var start = DateTime.Now;

            Console.WriteLine(@"Starting ...");

            // Profile the excel generation
            var factory = new ExcelFactory();

            using (var ms = new MemoryStream()) {
                using (var excel = factory.CreateWriter(ms)) {
                    excel.WriteRecords(GenerateRecords());
                }
            }

            // Write out how long it took
            var elapsed = DateTime.Now - start;

            Console.WriteLine(@"Done!");
            Console.WriteLine(@"Process took: {0} minutes and {1} seconds", Math.Floor(elapsed.TotalMinutes), elapsed.Seconds);
        }