Пример #1
0
 public JsonResult ExportExcelAllLocaltion(int accountId, int parentId, int provinceId, string keySearch)
 {
     try
     {
         var res = OfficeHelper.CreateGeneratedFile(accountId, parentId, provinceId, keySearch);
         if (res.Status)
         {
             return(Json(new
             {
                 status = true,
                 Data = res.Data,
                 totalCount = 0,
                 totalRow = 0
             }, JsonRequestBehavior.AllowGet));
         }
         return(Json(new
         {
             status = false,
             Data = res.Data,
             totalCount = 0,
             totalRow = 0
         }, JsonRequestBehavior.AllowGet));
     }
     catch
     {
         return(Json(new
         {
             status = false,
             totalCount = 0,
             totalRow = 0
         }, JsonRequestBehavior.AllowGet));
     }
 }
Пример #2
0
        protected void ExportExcel_Btn_Click(object sender, EventArgs e)
        {
            StringBuilder sb     = new StringBuilder();
            OfficeHelper  helper = new OfficeHelper();
            DataTable     demodt = new DataTable();

            InitDataColums(demodt);
            DataTable dt = SelByWhere();

            foreach (DataRow dtrow in dt.Rows)
            {
                DataRow dr = demodt.NewRow();
                dr["PaymentID"]   = dtrow["PaymentID"];
                dr["UserName"]    = dtrow["UserName"];
                dr["PaymentNum"]  = dtrow["PaymentNum"];
                dr["PayPlatName"] = dtrow["PayPlatName"];
                dr["MoneyPay"]    = dtrow["MoneyPay"];
                dr["MoneyTrue"]   = dtrow["MoneyTrue"];
                dr["StatusStr"]   = dtrow["Status"];
                dr["CStatusStr"]  = dtrow["CStatus"];
                dr["SuccessTime"] = dtrow["SuccessTime"];
                demodt.Rows.Add(dr);
            }
            string columnames = "ID,会员名,订单号,支付平台,金额,实际金额,交易状态,处理结果,完成时间";

            SafeSC.DownStr(helper.ExportExcel(demodt, columnames), DateTime.Now.ToString("yyyyMMdd") + "充值信息表.xls");
        }
Пример #3
0
        protected void DownToExcel_B_Click(object sender, EventArgs e)
        {
            OfficeHelper office = new OfficeHelper();
            string       name   = ZType.ToLower().Equals("comment") ? "评论排行.xls" : "点击排行.xls";

            SafeC.DownStr(office.ExportExcel(GetDt(), "标题,点击数,评论数,录入者,录入时间"), DateTime.Now.ToString("yyyyMMdd") + "点击排行.xls", Encoding.Default);
        }
Пример #4
0
        public async Task <string> ExcelImportEPPlusModelJsonAsync()
        {
            IFormFileCollection files    = Request.Form.Files;
            List <Article>      articles = new List <Article>();
            int    code = 0;
            string msg  = "失败!";
            var    file = files[0];
            string path = ConfigHelper.GetSectionValue("FileMap:FilePath") + files[0].FileName;

            using (FileStream fs = System.IO.File.Create(path))
            {
                await file.CopyToAsync(fs);

                fs.Flush();
            }
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();  //开始监视代码运行时间
            FileInfo fileExcel = new FileInfo(path);

            articles = OfficeHelper.LoadFromExcel <Article>(fileExcel).ToList();
            TimeSpan timespan = watch.Elapsed; //获取当前实例测量得出的总时间

            watch.Stop();                      //停止监视
            code = 1; msg = "成功!";
            string json = CommonHelper.GetJsonResult(code, msg, new { articles, timespan });

            return(json);
        }
Пример #5
0
        public static int LeafletImage2JPG(string imagePath, string fileID, string taskID)
        {
            int    highHeightUnit = 0;
            Bitmap fromImage      = (Bitmap)Image.FromFile(imagePath);

            imgHeight = 0; listBitmaps = new Dictionary <string, Bitmap>();
            string root = Path.Combine(OfficeHelper.GetFolderPath(taskID, "Office"), fileID);

            if (!Directory.Exists(@root))
            {
                Directory.CreateDirectory(@root);
            }
            List <Bitmap> listImage = new List <Bitmap>();

            if (fromImage != null)
            {
                listImage.Add(fromImage);
                highHeightUnit = MergerImageAndCut(listImage, root, true);

                foreach (KeyValuePair <string, Bitmap> bitmaps in listBitmaps)
                {
                    Bitmap bitmap = bitmaps.Value;
                    if (bitmap != null)
                    {
                        ImageFormat imageFormat = ImageFormat.Jpeg;
                        bitmap.Save(bitmaps.Key, imageFormat);
                    }
                }
            }
            return(highHeightUnit);
        }
Пример #6
0
        private void Btn_Export_Click(object sender, RoutedEventArgs e)
        {
            DataSet ds = OfficeHelper.ReadExcel("D:\\123.xls", "Sheet1");

            File.Create("D:\\会员名单.xls");
            OfficeHelper.WriteExcel("D:\\会员名单.xls", ds, "Sheet1");
        }
Пример #7
0
        public string ModelExportEPPlusExcel()
        {
            string         code        = "fail";
            List <Article> articleList = new List <Article>();

            for (int x = 0; x < 100000; x++)
            {
                Article article = new Article();
                article.Context    = "内容:" + x;
                article.Id         = x + 1;
                article.CreateTime = DateTime.Now;
                article.Title      = "标题:" + x;
                articleList.Add(article);
            }
            string fileName = "MyModelExcel.xlsx";

            string[] nameStrs = new string[4] {
                "ID", "标题", "内容", "时间"
            };                                     //按照模型先后顺序,赋值需要的名称
            string savePath = "wwwroot/Excel";     //相对路径
            string msg      = "Excel/" + fileName; //文件返回地址,出错就返回错误信息。

            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();                     //开始监视代码运行时间
            bool     b        = OfficeHelper.ModelExportEPPlusExcel(articleList, savePath, fileName, nameStrs, ref msg);
            TimeSpan timespan = watch.Elapsed; //获取当前实例测量得出的总时间

            watch.Stop();                      //停止监视
            if (b)
            {
                code = "success";
            }
            return("{\"code\":\"" + code + "\",\"msg\":\"" + msg + "\",\"timeSeconds\":\"" + timespan.TotalSeconds + "\"}");
        }
Пример #8
0
        public void ContentManage_ToExcel()
        {
            VM_ContentManage vm = FillVMContentManage(ref err);

            if (!string.IsNullOrEmpty(err))
            {
                function.WriteErrMsg(err); return;
            }
            DataTable dt = vm.setting.dt;

            dt.Columns.Add("ShowTitle");
            dt.Columns.Add("ShowElite");
            dt.Columns.Add("ShowStatus");
            foreach (DataRow dr in dt.Rows)
            {
                dr["ShowTitle"]  = NodeID == 0 ? "[" + dr["NodeName"] + "]" + dr["Title"] : dr["Title"];
                dr["ShowElite"]  = conhelp.GetElite(dr["EliteLevel"].ToString());
                dr["ShowStatus"] = conhelp.GetStatus(DataConvert.CLng(dr["Status"]));
            }
            DataTable newDt      = dt.DefaultView.ToTable(false, "GeneralID,ShowTitle,Inputer,Hits,ShowElite,ShowStatus,CreateTime,UpDateTime".Split(','));
            string    columnames = "ID,标题,录入者,点击数,推荐,状态,添加时间,修改时间";
            M_Node    nodeMod    = nodeBll.SelReturnModel(NodeID);
            string    nodename   = nodeMod == null ? "" : "[" + nodeMod.NodeName + "]";

            SafeSC.DownStr(OfficeHelper.ExportExcel(newDt, columnames), DateTime.Now.ToString("yyyyMMdd") + nodename + "内容管理表.xls");
        }
        private static void btn2Excel_click(object sender, System.EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "Excel file;*.xlsx|*.xlsx";
            sfd.ShowDialog();

            int colCount = listview.Columns.Count;

            string[] headers = new string[colCount];

            for (int i = 1; i < colCount; i++)
            {
                headers[i] = listview.Columns[i].Text;
            }
            int rowCout = listview.Items.Count;

            string[][] vals = new string[rowCout][];

            for (int i = 0; i < rowCout; i++)
            {
                vals[i] = new string[colCount];
                for (int j = 1; j < colCount; j++)
                {
                    vals[i][j] = listview.Items[i].SubItems[j].Text;
                }
            }
            OfficeHelper.saveToExcel(sfd.FileName, headers, vals);
        }
Пример #10
0
        public static int LeafletPdf2JPG(string pdfPath, string fileID, string taskID)
        {
            //Aspose.Pdf.Document pdf = new Aspose.Pdf.Document(pdfPath);
            curIndex = 1;
            int    highHeightUnit = 0;
            string root           = Path.Combine(OfficeHelper.GetFolderPath(taskID, "Office"), fileID);

            imgHeight = 0; listBitmaps = new Dictionary <string, Bitmap>();
            if (!Directory.Exists(@root))
            {
                Directory.CreateDirectory(@root);
            }

            /*O2S.Components.PDFRender4NET.dll方式*/
            PDFFile       pdfFile   = PDFFile.Open(pdfPath);
            int           pageCount = pdfFile.PageCount;
            List <Bitmap> listImage = new List <Bitmap>();

            for (int i = 1; i <= pageCount; i++)
            {
                Bitmap bitmap = pdfFile.GetPageImage(i - 1, 56 * (int)Definition.Two);
                if (bitmap != null)
                {
                    listImage.Add(bitmap);
                }
            }
            highHeightUnit = MergerImageAndCut(listImage, root, true);

            /*Aspose.Pdf方式,比较慢*/
            //for (int pageCount = 1; pageCount <= pdf.Pages.Count; pageCount++)
            //{
            //    string fileName = root + "\\" + pageCount + ".jpg";
            //    using (FileStream imageStream = new FileStream(fileName, FileMode.Create))
            //    {
            //        Aspose.Pdf.Devices.Resolution resolution = new Aspose.Pdf.Devices.Resolution(300);
            //        Aspose.Pdf.Devices.PngDevice pngDevice = new Aspose.Pdf.Devices.PngDevice(resolution);
            //        pngDevice.Process(pdf.Pages[pageCount], imageStream);


            //        Image image = Image.FromStream(imageStream);
            //        imageStream.Close();
            //        if (image != null)
            //            ImgCutSave(image, root, pageCount); //代码截图
            //    }
            //    if (File.Exists(fileName))
            //        File.Delete(fileName);
            //}

            foreach (KeyValuePair <string, Bitmap> bitmaps in listBitmaps)
            {
                Bitmap bitmap = bitmaps.Value;
                if (bitmap != null)
                {
                    ImageFormat imageFormat = ImageFormat.Jpeg;
                    bitmap.Save(bitmaps.Key, imageFormat);
                }
            }
            return(highHeightUnit);
        }
Пример #11
0
        protected void ExportExcel_Btn_Click(object sender, EventArgs e)
        {
            OfficeHelper helper     = new OfficeHelper();
            DataTable    dt         = SelByWhere();
            DataTable    newDt      = dt.DefaultView.ToTable(false, "PaymentID,UserName,PaymentNum,PayPlatName,MoneyPay,MoneyTrue,Status,CStatus,SuccessTime".Split(','));
            string       columnames = "ID,会员名,订单号,支付平台,金额,实际金额,交易状态,处理结果,完成时间";

            SafeSC.DownStr(helper.ExportExcel(newDt, columnames), DateTime.Now.ToString("yyyyMMdd") + "充值信息表.xls");
        }
Пример #12
0
        private void Btn_Import_Click(object sender, RoutedEventArgs e)
        {
            DataSet ds = OfficeHelper.ReadExcel("D:\\123.xls", "Sheet1");

            for (int i = 0; i < ds.Tables.Count; i++)
            {
                //这里做处理
            }
        }
Пример #13
0
        /// <summary>
        /// 导出EXCEL
        /// </summary>
        /// <param name="day"></param>
        /// <param name="pay_state"></param>
        /// <param name="order_state"></param>
        public void ExportExcel(int day, int pay_state, int order_state)
        {
            var order_list = OrderCache($"orderlist_{day}", day);

            if (order_list.Any())
            {
                order_list = order_list.Where(n => n.pay_state == pay_state && n.order_state == order_state).ToList();
                List <dynamic> list = new List <dynamic>();
                if (order_list.Any())
                {
                    foreach (var item in order_list)
                    {
                        var one = new
                        {
                            item.id,
                            product_name = item.product.name,
                            pay_state    = Enum.GetName(typeof(Pay_state), item.pay_state),
                            order_state  = Enum.GetName(typeof(Order_state), item.order_state),
                            user_name    = item.user.name,
                            item.order_number,
                            item.wx_order_num,
                            item.user_remark,
                            item.add_time,
                            item.pay_time,
                            item.refund_number,
                            item.pay_account,
                            item.count,
                            item.product.price,
                            item.order_money
                        };
                        list.Add(one);
                    }
                    if (list.Any())
                    {
                        DataTable dt = ListToDataTable.List2DataTable <dynamic>(list);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            dt.Columns["id"].ColumnName            = "id";
                            dt.Columns["product_name"].ColumnName  = "产品名称";
                            dt.Columns["user_name"].ColumnName     = "用户名称";
                            dt.Columns["count"].ColumnName         = "产品个数";
                            dt.Columns["price"].ColumnName         = "产品价格";
                            dt.Columns["order_money"].ColumnName   = "订单金额";
                            dt.Columns["pay_state"].ColumnName     = "支付状态";
                            dt.Columns["order_state"].ColumnName   = "订单状态";
                            dt.Columns["order_number"].ColumnName  = "订单号";
                            dt.Columns["wx_order_num"].ColumnName  = "微信订单号";
                            dt.Columns["add_time"].ColumnName      = "下单时间";
                            dt.Columns["pay_time"].ColumnName      = "支付时间";
                            dt.Columns["pay_account"].ColumnName   = "付款账号";
                            dt.Columns["refund_number"].ColumnName = "退单号";
                        }
                        bool hh = OfficeHelper.ExportExcelWithAspose(dt, $"{day}天内订单信息{DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒")}", "", true);
                    }
                }
            }
        }
Пример #14
0
        /// <summary>
        /// 统计考勤
        /// </summary>
        public static void Atten()
        {
            IAdministratorContract        _adminContract           = EntityContract._adminContract;
            IAttendanceContract           _attenContract           = EntityContract._attenContract;
            IAttendanceStatisticsContract _attenStatisticsContract = EntityContract._attenStatisticsContract;
            DateTime                    current        = DateTime.Now;
            List <Administrator>        listAdmin      = _adminContract.Administrators.Where(x => x.IsDeleted == false && x.IsEnabled == true).ToList();
            List <Attendance>           listAtten      = _attenContract.Attendances.Where(x => x.IsDeleted == false && x.IsEnabled == true && x.AttendanceTime.Year == current.Year && x.AttendanceTime.Month == current.Month && x.AttendanceTime.Day == current.Day).ToList();
            List <int>                  listAdminId    = listAdmin.Select(x => x.Id).ToList();
            List <AttendanceStatistics> listStatistics = _attenStatisticsContract.AttendanceStatisticses.Where(x => listAdminId.Contains(x.AdminId)).ToList();
            Dictionary <string, int>    dic            = GetHoliday();
            WorkTime                    workTime;
            List <Attendance>           listEntity           = new List <Attendance>();
            List <AttendanceStatistics> listStatisticsAdd    = new List <AttendanceStatistics>();
            List <AttendanceStatistics> listStatisticsUpdate = new List <AttendanceStatistics>();

            foreach (Administrator admin in listAdmin)
            {
                workTime = GetWorkTime(admin);
                bool res = OfficeHelper.IsWorkDay(current, workTime, dic);
                if (res == true)
                {
                    Attendance atten = GetAtten(listAtten, current, admin.Id, workTime.IsPersonalTime);
                    if (atten.Id == 0)
                    {
                        listEntity.Add(atten);
                    }
                    AttendanceStatistics statistics = GetAttenStatistics(listStatistics, workTime, atten, admin.Id);
                    if (statistics.Id == 0)
                    {
                        listStatisticsAdd.Add(statistics);
                    }
                    else
                    {
                        listStatisticsUpdate.Add(statistics);
                    }
                }
                else
                {
                    string            strDate           = current.ToString("yyyy/MM/dd 00:00:00");
                    DateTime          date              = DateTime.Parse(strDate);
                    IOvertimeContract _overTimeContract = DependencyResolver.Current.GetService <IOvertimeContract>();
                    int count = _overTimeContract.Overtimes.Where(x => x.AdminId == admin.Id && x.VerifyType == (int)VerifyFlag.Pass && date.CompareTo(x.StartTime) >= 0 && date.CompareTo(x.EndTime) <= 0).Count();
                    if (count > 0)
                    {
                        Attendance atten = GetAtten(listAtten, current, admin.Id, workTime.IsPersonalTime);
                        if (atten != null)
                        {
                            listEntity.Add(atten);
                        }
                    }
                }
            }

            _attenContract.Add(listEntity, listStatisticsAdd, listStatisticsUpdate);
        }
Пример #15
0
        public OnlineOrdersResultDto <UpTotalModel> ImportExcel(IFormFile formFile)
        {
            OnlineOrdersResultDto <UpTotalModel> result = new OnlineOrdersResultDto <UpTotalModel>()
            {
                StatusCode = 0, Message = "上传Excel失败", Ext1 = new UpTotalModel()
                {
                }
            };

            if (Request.Form.Files == null || Request.Form.Files.Count == 0)
            {
                result.Message = "上传的Excel文件为空";
                return(result);
            }
            try
            {
                IFormFile fileinput = Request.Form.Files[0];
                var       filename  = ContentDispositionHeaderValue.Parse(fileinput.ContentDisposition).FileName; // 原文件名(包括路径)
                var       extName   = filename.Substring(filename.LastIndexOf('.')).Replace("\"", "");            // 扩展名
                if (extName.ToLower() != ".xls" && extName.ToLower() != ".xlsx")
                {
                    result.Message = "上传文件格式不正确";
                    return(result);
                }
                string shortfilename = $"{Guid.NewGuid()}{extName}";                       // 新文件名
                string fileSavePath  = hostingEnvironment.WebRootPath + @"\upload\stock\"; //文件临时目录,导入完成后 删除
                filename = fileSavePath + shortfilename;                                   // 新文件名(包括路径)
                if (!Directory.Exists(fileSavePath))
                {
                    Directory.CreateDirectory(fileSavePath);
                }
                using (FileStream fs = System.IO.File.Create(filename)) // 创建新文件
                {
                    fileinput.CopyTo(fs);                               // 复制文件
                    fs.Flush();                                         // 清空缓冲区数据
                }
                //读取Excel中的文件到DataTable中
                using (Stream sm = System.IO.File.OpenRead(filename))
                {
                    DataTable          dt     = OfficeHelper.ReadStreamToDataTable(sm, extName, null, true, 4);
                    List <UploadModel> models = dt.GetUpLoad();
                    result.StatusCode      = 1;
                    result.Message         = "上传Excel成功";
                    result.Ext1.FileName   = shortfilename;
                    result.Ext1.listResult = models;
                    result.Ext1.listHead   = ConstUpLoadDic.StockHead.GetUpLoadHead();
                }
            }
            catch (Exception ex)
            {
                result.StatusCode = 2;
                result.Message    = ex.Message;
            }

            return(result);
        }
Пример #16
0
        protected void DownWord_B_Click(object sender, EventArgs e)
        {
            StringWriter sw    = new StringWriter();
            var          mu    = buser.GetLogin();
            string       url   = "ExportIDCOrder.aspx?id=" + Mid + "&uname=" + mu.UserName + "&upwd=" + mu.UserPwd;
            string       vpath = "/UploadFiles/IDC订单详情-" + Mid + ".doc";

            Server.Execute(url, sw);
            SafeSC.DownFile(OfficeHelper.W_HtmlToWord(sw.ToString(), vpath));
        }
Пример #17
0
        protected void DownDoc_Btn_Click(object sender, EventArgs e)
        {
            M_Plat_Comp compMod = compBll.SelReturnModel(Mid);
            string      html    = Request.Form["html_hid"];

            html = "<html><head></head><body>" + html + "</body></html>";
            string vpath = "/UploadFiles/Plat/CompReport/" + compMod.CompName + ".doc";

            vpath = OfficeHelper.W_HtmlToWord(html, vpath);
            SafeSC.DownFile(vpath);
        }
Пример #18
0
        public void ListMapExcel()
        {
            var list    = CreateTestData1List();
            var oldJson = JsonConvert.SerializeObject(list);
            var dt      = OfficeHelper.ToDatatable(list, new Dictionary <string, Expression <Func <TestData1, object> > > {
                { "Id", it => it.Id },
                { "Name", it => it.Name },
                { "Time", it => it.Time }
            });
            DataTable newTable;

            byte[] bs;
            using (var memoryStream = new MemoryStream())
            {
                var ds = new DataSet();
                ds.Tables.Add(dt);
                NPOIHelper.DatasetToExcel(ds, memoryStream, ExcelFormat.Xlsx);
                bs = memoryStream.ToArray();
            }
            using (var memoryStream = new MemoryStream(bs))
            {
                newTable = NPOIHelper.ExcelToDataset(memoryStream).Tables[0];
            }
            int              successCount  = 0;
            List <string>    messageList   = new List <string>(newTable.Rows.Count);
            List <TestData1> testData1List = new List <TestData1>(newTable.Rows.Count);

            foreach (var item in OfficeHelper.ConvertFromDatatable(newTable, new Dictionary <string, Func <TestData1, object, DataRow, bool> > {
                { "Id", (it, obj, row) => OfficeHelper.TryConvertThen <int>(obj, v => it.Id = v) },
                { "Name", (it, obj, row) => OfficeHelper.TryConvertThen <string>(obj, v => it.Name = v) },
                { "Time", (it, obj, row) => OfficeHelper.TryConvertThen <DateTimeOffset>(obj, v => it.Time = v) }
            }))
            {
                if (item.IsSuccess)
                {
                    successCount++;
                    testData1List.Add(item.Data);
                }
                else
                {
                    messageList.Add(item.Message);
                }
            }
            if (successCount == testData1List.Count)
            {
                var newJson = JsonConvert.SerializeObject(testData1List);
                //Assert.AreEqual(oldJson, newJson); 由于DateTime转换到Excel精度丢失,无法保证导入导出的数据完全一致
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #19
0
        protected void makeWordBtn_Click(object sender, EventArgs e)
        {
            if (!Directory.Exists(Server.MapPath(wordLink)))
            {
                Directory.CreateDirectory(Server.MapPath(wordLink));
            }
            string vpath = wordLink + GeneralID + ".doc";
            string html  = GetContentHtml();

            OfficeHelper.W_HtmlToWord(html, vpath);
            Response.Redirect("EditContent.aspx?GeneralID=" + GeneralID + "&tab=1");
        }
Пример #20
0
        public string Content_WordApi(int gid, string op)
        {
            M_CommonData conMod = contentBll.SelReturnModel(gid);
            M_APIResult  retMod = new M_APIResult(M_APIResult.Failed);

            if (conMod == null || conMod.GeneralID < 1)
            {
                retMod.result = "内容[" + gid + "]不存在"; return(retMod.ToString());
            }
            switch (op)
            {
            case "create":
            {
                string pdfdir = "";
                if (string.IsNullOrEmpty(conMod.Rtype))
                {
                    conMod.Rtype = ZLHelper.GetUploadDir_System("Content", "Word") + conMod.GeneralID + ".docx";
                }
                pdfdir = Path.GetDirectoryName(Server.MapPath(conMod.Rtype));
                if (!Directory.Exists(pdfdir))
                {
                    Directory.CreateDirectory(pdfdir);
                }
                //------------------------
                string html = GetContentHtml(conMod);
                OfficeHelper.W_HtmlToWord(html, conMod.Rtype);
                contentBll.UpdateByID(conMod);
                retMod.result  = conMod.Rtype;
                retMod.retcode = M_APIResult.Success;
            }
            break;

            case "del":
                if (!string.IsNullOrEmpty(conMod.Rtype))
                {
                    if (System.IO.File.Exists(Server.MapPath(conMod.Rtype)))
                    {
                        System.IO.File.Delete(Server.MapPath(conMod.Rtype));
                    }
                    conMod.Rtype = "";
                    contentBll.UpdateByID(conMod);
                    retMod.retcode = M_APIResult.Success;
                }
                break;

            default:
                retMod.retmsg = "[" + op + "]不存在";
                break;
            }
            return(retMod.ToString());
        }
Пример #21
0
        private void RunPlotQueue()
        {
            FileRepository repo = new FileRepository();
            FileTask       task = null;

            while ((task = repo.GetTask("")) != null)
            {
                if (task.ExtName.Equals("dwg", StringComparison.OrdinalIgnoreCase))
                {
                    try
                    {
                        label2.Text = string.Format("正在获取文件...[{0}]", task.Name);
                        //1.从filestore获取文件
                        byte[] bytes = FileStoreHelper.GetFile(task.ID);
                        FileStoreHelper.SaveFileBuffer(bytes, Path.Combine(OfficeHelper.GetFolderPath(task.ID, "Files"), task.Name));
                        //2.设置文件数据库状态为进行中
                        repo.StartTask(task.ID);
                        //3.开始进行转换
                        label2.Text = string.Format("正在进行格式打印...[{0}]", task.Name);
                        var imgDTO = OfficeHelper.InitDTO(task.Name, bytes.Length, task.ID);
                        var result = FileConverter.Exec(imgDTO);

                        bool isSucc = false;
                        if (result != null && result.status)
                        {
                            //4.设置转图层次,并生成json文件
                            imgDTO.Versions[0].ImageZoomLevel = result.ZoomLevel;
                            OfficeHelper.WriteJsonFile(imgDTO);
                            isSucc = true;
                        }
                        Application.DoEvents();
                        //5.回置状态
                        label2.Text = "最近:[" + imgDTO.Name + "]打印" + (isSucc ? "成功":"失败") + ",打印时间(" + DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分") + ")";
                        repo.EndTask(task.ID, isSucc ? ResultStatus.Success:ResultStatus.Error);
                        //6.删除原文件
                        if (File.Exists(imgDTO.Versions[0].FullPath))
                        {
                            File.Delete(imgDTO.Versions[0].FullPath);
                        }
                    }
                    catch (Exception ex)
                    {
                        // 记录日志
                        LogWriter.Info(string.Format(ex.Message, DateTime.Now.ToString(), task.ID, task.Name, ex.StackTrace));

                        repo.EndTask(task.ID, ResultStatus.Error);
                    }
                }
            }
        }
Пример #22
0
        public FileStreamResult TestExport()
        {
            ExportAdmin param = new ExportAdmin();

            param.Title         = "这是一个测试";
            param.Items         = new List <ExportAdminItem>();
            param.FileName      = "exportdemo.xls";
            param.FilterContent = "记录筛选的内容";

            param.Items.Add(new ExportAdminItem()
            {
                Username   = "******",
                Nickname   = "nick1",
                CreateTime = DateTime.Now,
                LoginTime  = DateTime.Now,
                Money      = 100,
                //NoInclude = 1000
            });
            param.Items.Add(new ExportAdminItem()
            {
                Username   = "******",
                Nickname   = "nick2",
                CreateTime = DateTime.Now,
                LoginTime  = DateTime.Now,
                Money      = 50.2321M,
                //NoInclude = 1000
            });
            param.Items.Add(new ExportAdminItem()
            {
                Username   = "******",
                Nickname   = "nick3",
                CreateTime = DateTime.Now,
                LoginTime  = DateTime.Now,
                Money      = -100.2M,
                //NoInclude = 1000
            });

            OfficeHelper bll  = new OfficeHelper();
            IWorkbook    book = bll.ExportExcel <ExportAdminItem>(param);
            MemoryStream ms   = new MemoryStream();

            book.Write(ms);
            ms.Position = 0;
            FileStreamResult fResult = new FileStreamResult(ms, "application/octet-stream")
            {
                FileDownloadName = param.FileName
            };

            return(fResult);
        }
Пример #23
0
        protected void Export_B_Click(object sender, EventArgs e)
        {
            OfficeHelper office = new OfficeHelper();
            DataTable    dt     = contentBll.GroupDayCount(DataConverter.CLng(Request.Form["curNid_hid"]), Convert.ToInt32(Request.Form["years"]), Convert.ToInt32(Request.Form["months"]), Convert.ToInt32(Request.Form["model"]));

            dt.Columns.Add("Date");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["Date"] = DataConverter.CDate(dt.Rows[i]["Years"] + "-" + dt.Rows[i]["Months"] + "-" + dt.Rows[i]["Days"]).ToString("yyyy-MM-dd");;
            }
            DataTable newDt = dt.DefaultView.ToTable(false, "Date,PCount,ComCount,Hits".Split(','));

            SafeC.DownStr(office.ExportExcel(newDt, "日期,发稿量,评论数,点击数"), DateTime.Now.ToString("yyyyMMdd") + "时间统计.xls", Encoding.Default);
        }
Пример #24
0
        public static List <T> Import <T>(T t, string path)
        {
            DataTable dt  = OfficeHelper.ReadExcelToDataTable(path);
            var       lst = new List <T>(1000);

            System.Type tt = t.GetType();                                      //获取指定名称的类型
            object      ff = Activator.CreateInstance(tt, null);               //创建指定类型实例

            PropertyInfo[]          fields     = ff.GetType().GetProperties(); //获取指定对象的所有公共属性
            List <MapNameAttribute> attributes = new List <MapNameAttribute>(20);

            foreach (var item in fields)
            {
                var temps = item.GetCustomAttributes(typeof(MapNameAttribute), true);
                if (temps != null)
                {
                    foreach (var temp in temps)
                    {
                        attributes.Add(temp as MapNameAttribute);
                    }
                }
            }

            for (int i = 1; i < dt.Rows.Count; i++)
            {
                object obj = Activator.CreateInstance(tt, null);
                var    dr  = dt.Rows[i];
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    var column    = dt.Columns[j];
                    var columnMap = attributes.FirstOrDefault(a => a.MapName == column.ColumnName.TryTrim());
                    // 没找到匹配的字段就忽略
                    if (columnMap == null)
                    {
                        continue;
                    }
                    foreach (PropertyInfo p in fields)
                    {
                        if (columnMap.Name != p.Name)
                        {
                            continue;
                        }
                        p.SetValue(obj, Convert.ChangeType(dr[column.ColumnName], p.PropertyType), null);//给对象赋值
                    }
                }

                lst.Add((T)obj);
            }
            return(lst);
        }
        public ChangePaymentType GetChangePaymentTypeData(string officeNumber)
        {
            var result       = new ChangePaymentType();
            var companyId    = OfficeHelper.GetCompanyId(officeNumber);
            var list         = this.GetPaymentTypes(companyId);
            var office       = new OfficeHelper().GetOfficeById(officeNumber);
            var paymentTypes = (from item in list orderby item.Description select item).ToList();

            result.PaymentTypes   = paymentTypes;
            result.PaymentDetails = new List <PaymentTransactionLite>();
            result.PaymentDetails = this.GetDetails(officeNumber) as List <PaymentTransactionLite>;
            result.IsTodayClosed  = new DailyClosingIt2Manager().IsTodayClosed(officeNumber, office.TimeZone, office.UseDST);
            return(result);
        }
Пример #26
0
        public ActionResult ImportXlsx(HttpPostedFile import)
        {
            DataSet ds = null;

            try
            {
                if (import != null && import.ContentLength > 0)
                {
                    ds = NPOIHelper.ExcelToDataset(import.InputStream);
                }
            }
            catch (Exception)
            {
                throw;
            }

            if (ds.Tables?.Count > 0)
            {
                var              dt            = ds.Tables[0];
                int              successCount  = 0;
                List <string>    messageList   = new List <string>(dt.Rows.Count);
                List <TestData1> testData1List = new List <TestData1>(dt.Rows.Count);
                foreach (var item in OfficeHelper.ConvertFromDatatable(dt, new Dictionary <string, Func <TestData1, object, DataRow, bool> > {
                    { "Id", (it, obj, row) => OfficeHelper.TryConvertThen <int>(obj, v => it.Id = v) },
                    { "Name", (it, obj, row) => OfficeHelper.TryConvertThen <string>(obj, v => it.Name = v) },
                    { "Time", (it, obj, row) => OfficeHelper.TryConvertThen <DateTime>(obj, v => it.Time = v) }
                }))
                {
                    if (item.IsSuccess)
                    {
                        successCount++;
                        testData1List.Add(item.Data);
                    }
                    else
                    {
                        messageList.Add(item.Message);
                    }
                }

                //下面部分只是为了展示出导入的数据
                ViewData["successCount"]  = successCount;
                ViewData["messageList"]   = messageList;
                ViewData["testData1List"] = testData1List;
                return(View("Index", CreateTestData1List()));
            }
            else
            {
                throw new Exception("所上传文件中不包含工作表!");
            }
        }
Пример #27
0
        public int FileToImage(string filePath, string categoryId)
        {
            int back = 0;

            if (!string.IsNullOrEmpty(filePath))
            {
                string imagefilePath = Path.Combine(GlobalConfiguration.WebRootPath, "imgfile", categoryId);
                int    lastSplitX    = filePath.LastIndexOf("/");
                int    lastSplitP    = filePath.LastIndexOf(".");
                string mediaName     = filePath.Substring(lastSplitX + 1, (lastSplitP - lastSplitX - 1));
                //string pdfpath = imagefilePath+"\\" + mediaName + ".pdf";
                try
                {
                    string mediaPath = Path.Combine(imagefilePath, mediaName) + "\\";
                    if (Path.GetExtension(filePath).ToLower() == ".doc" ||
                        Path.GetExtension(filePath).ToLower() == ".docx")
                    {
                        //OfficeHelper.Word2PDF(filePath, pdfpath);
                        //if (!Directory.Exists(mediaPath))
                        //{
                        //    Directory.CreateDirectory(mediaPath);
                        //}
                        //SwfHelper.Pdf2Img(pdfpath, mediaPath);
                        //FileInfo file = new FileInfo(pdfpath);
                        //file.Delete();

                        if (!Directory.Exists(mediaPath))
                        {
                            Directory.CreateDirectory(mediaPath);
                        }
                        OfficeHelper.Word2Jpg(filePath, mediaPath);
                    }
                    else if (Path.GetExtension(filePath).ToLower() == ".pdf")
                    {
                        if (!Directory.Exists(mediaPath))
                        {
                            Directory.CreateDirectory(mediaPath);
                        }
                        SwfHelper.Pdf2Img(filePath, mediaPath);
                    }
                    back = Directory.GetFiles(mediaPath).Length;
                }
                catch (Exception ex)
                {
                    // TODO 记录日志
                }
            }
            return(back);
        }
Пример #28
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string wordName = HttpUtility.UrlDecode(Request["Name"] ?? "");
         string wordDir  = "/UploadFiles/auto/outToWord/";
         if (string.IsNullOrEmpty(wordName))
         {
             wordName = function.GetRandomString(6);
         }
         SafeSC.CreateDir(wordDir);
         string wordPath = wordDir + wordName + ".docx";
         SafeSC.DownFile(OfficeHelper.W_HtmlToWord("<html>" + Html + "</html>", wordPath));
     }
 }
        protected void DownExcel_Btn_Click(object sender, EventArgs e)
        {
            M_Pub_Excel excelMod = new M_Pub_Excel();
            B_Pub_Excel excelBll = new B_Pub_Excel();
            M_Pub       pubinfo  = pub.GetSelect(PubID);

            excelMod = excelBll.SelByTbName(pubinfo.PubTableName);
            if (excelMod == null)
            {
                function.WriteErrMsg("尚未为表:" + pubinfo.PubTableName + "指定导出规则,请先<a href='PubExcel.aspx?mid=" + pubinfo.PubModelID + "'>点此设定导出规则</a>");
            }
            OfficeHelper ofHelper = new OfficeHelper();

            SafeC.DownStr(ofHelper.GetExcelByDT(GetDT(), excelMod.Fields, excelMod.CNames), DateTime.Now.ToString("yyyyMMdd") + "互动信息.xls", Encoding.Default);
        }
Пример #30
0
        private int getTotalWordCount(string path_ = "%")
        {
            int count = 0;

            //var info = OfficeHelper.GetWordDocumentStats(@"D:\Temp\!Downloads\5cd3_b_04_public_statement.docx");
            var info = OfficeHelper.GetWordDocumentStats(@path_);

            Console.WriteLine("Characters: " + info.Characters);
            Console.WriteLine("Words: " + info.Words);
            Console.WriteLine("Pages: " + info.Pages);
            Console.WriteLine("Paragraphs: " + info.Paragraphs);
            Console.WriteLine("Lines: " + info.Lines);
            count = info.Words;
            return(count);
        }