zoukankan      html  css  js  c++  java
  • 房租管理小软件(三):导入导出数据

    1.把Excel中数据导入到Sqlserver 中,使用Linq 事务的方式的方式

      1  string resultFile = "";
      2 
      3 
      4             OpenFileDialog openFileDialog1 = new OpenFileDialog();
      5             openFileDialog1.InitialDirectory = "D://";
      6             openFileDialog1.Filter = "All files (*.*)|*.*|EXCEL files (*.xls)|*.xls";
      7             openFileDialog1.FilterIndex = 2;
      8             openFileDialog1.RestoreDirectory = true;
      9             if (openFileDialog1.ShowDialog() == DialogResult.OK)
     10             {
     11                 resultFile = openFileDialog1.FileName;
     12 
     13  
     14 
     15                 Workbook SourceBook1 = new Workbook();
     16                 try
     17                 {
     18                     SourceBook1.Open(resultFile);
     19                 }
     20                 catch (Exception ex) {
     21                     MessageBox.Show("请关闭Excel文件,再导入");
     22                     return;
     23                 }
     24                 Worksheet workSheet = SourceBook1.Worksheets[0];
     25                 Cells cell = workSheet.Cells;
     26                 DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("正在加载数据,请等待!");
     27                  MyFZDataContext dataContext = new MyFZDataContext();
     28                 if (dataContext.Connection != null) { dataContext.Connection.Open(); }
     29                 System.Data.Common.DbTransaction tran = dataContext.Connection.BeginTransaction();
     30                 dataContext.Transaction = tran;
     31                 int j = 0;
     32                 try
     33                 {
     34                   
     35                     int rowNum = cell.MaxDataRow;
     36                     for (int i = 2; i <= rowNum; i++)
     37                     {
     38                         j = i;
     39                         string s_NO = cell[i, 0].StringValue;//
     40                         string s_RoomNum = cell[i, 1].StringValue;//商铺号
     41                         //通过商铺号,得到房账号
     42                         var vf = from t in dataContext.T2_Enter_PersonGroup where t.RoomNum == s_RoomNum && t.Status == "未退房" select t;
     43                         if (vf.Count() != 1) { continue; }
     44                         string fzh = vf.Take(1).Single().FZHNumber;
     45                         string s_YearMonth = cell[i, 2].StringValue;//月份
     46                         string s_FZH = fzh;//房账号
     47                         string s_dds = cell[i, 4].StringValue;//底读数
     48                         string s_cbs = cell[i, 5].StringValue;//抄表数
     49                         string s_dlydl = cell[i, 6].StringValue;//独表用电量数
     50                         string s_dldf = cell[i, 7].StringValue;//独立电费
     51                         string s_ftdl = cell[i, 8].StringValue;//分滩电量
     52                         string s_ftdf = cell[i, 9].StringValue;//分滩电费
     53                         string s_lb = cell[i, 3].StringValue;//类别
     54                         if (s_lb == "水费")
     55                         {
     56                             DateTime tempTime = Date.getFirstDate(s_YearMonth);
     57                             var vc = from t in dataContext.T2_ZW_Detail where t.FZHNumber == s_FZH && t.FeeCode == 4 && t.FeeTime == tempTime select t;
     58 
     59                             if (vc.Count() > 0)
     60                             {
     61                                 //MessageBox.Show("已导入过本月水费数据,不能再次导入!");
     62                                 //return;
     63                                 continue;
     64                             }
     65 
     66                             var v1 = from t in dataContext.T2_Enter_PersonGroup where t.FZHNumber == s_FZH && t.ZWStatus == "已结" select t;
     67                             if (v1.Count() == 1) { continue; }//已结账的不能导入
     68                             T1_QX_MySystemUser user = (T1_QX_MySystemUser)AppDomain.CurrentDomain.GetData("user");
     69 
     70 
     71                             //save
     72 
     73  
     74 
     75                             T2_ZW_Detail tzd = new T2_ZW_Detail();
     76                             tzd.DJH = DataFunction.getXFID("XF", dataContext);//XF为消费
     77                             tzd.FZHNumber = s_FZH;
     78 
     79                             tzd.FeeCode = 4; //水费
     80                             tzd.ThePercent = Double.Parse("1.00");
     81                             tzd.TheCount = 1;
     82                             tzd.Price = Convert.ToDecimal(s_dldf) + Convert.ToDecimal(s_ftdf);
     83                             tzd.Amount = Convert.ToDecimal(s_dldf) + Convert.ToDecimal(s_ftdf);
     84                             tzd.FAmount = 0.0m;
     85                             tzd.EnterTime = DataBase.Date.getNow();
     86                             tzd.FeeTime = Date.getFirstDate(s_YearMonth);
     87                             tzd.EnterPerson = user.UserName;
     88                             tzd.JRFS = "导录";
     89                             tzd.Status = "未结";
     90                             tzd.JZFS = "消费";
     91                             tzd.XGID = "";
     92                             tzd.RoomNum = s_RoomNum;
     93                             tzd.Memo = "底读数:" + s_dds + " " + "抄表数:" + s_cbs + " " + "独表用水量数:" + s_dlydl + " " + "分滩水量:" + s_ftdl + " " + "分滩水费:" + s_ftdf + " ";
     94                             tzd.ZZDH = "";
     95                             dataContext.T2_ZW_Detail.InsertOnSubmit(tzd);
     96                             dataContext.SubmitChanges();
     97 
     98                         }
     99 
    100                     }
    101                     tran.Commit();
    102                     MessageBox.Show("导入成功!");
    103                 }
    104                 catch (Exception ex)
    105                 {
    106 
    107                     tran.Rollback();
    108                     MessageBox.Show("格式错!"+ex.ToString());
    109                 }
    110                 wdf.Hide();
    111                 
    112             }
    View Code

    2.使用aspose.word 模板生成合同

     1 //合同生成
     2 
     3             Document doc = new Document(".//ht.doc");
     4             DocumentBuilder builder = new DocumentBuilder(doc);
     5 
     6 
     7             // 执行数据更新 
     8             MyFZDataContext dataContext = new MyFZDataContext(false);
     9 
    10             T2_Enter_PersonGroup t2 = dataContext.T2_Enter_PersonGroup.Single(c => c.AutoID.ToString() == this.DanNumber);
    11             //楼层
    12             var v1 = from t in dataContext.T1_FloorRoom
    13                      where
    14                        t.AutoID ==
    15                          ((from t0 in dataContext.T1_FloorRoom
    16                            where
    17                              t0.NodeName == t2.RoomNum
    18                            select new
    19                            {
    20                                t0.FID
    21                            }).First().FID)
    22                      select new
    23                      {
    24                          t.NodeName
    25                      };
    26 
    27             //经营范围
    28             var v_J = from t in dataContext.T1_JYFW
    29                       where
    30                           (from t0 in dataContext.T2_Enter_PersonGroup
    31                            where
    32                              t0.AutoID.ToString() == this.DanNumber
    33                            select new
    34                            {
    35                                a = t0.JYFW
    36                            }).Contains(new { a = t.AutoID.ToString() })
    37                       select new
    38                       {
    39                           t.JYName
    40                       };
    41              doc.MailMerge.Execute(
    42              new string[] { "CZF", "LC", "RoomNum", "AREA", "JYFW", "JYQS", "COMEDATE", "OUTTIME", "ZJ", "YZZJ", "DXZJ", "SPBZJ", "DXSPBZJ", "GLF" },//承租方,楼层,房号,面积,经营范围,期数,开始时间,离开时间,租金,月租增减,大写租金
    43              new object[] { t2.CZF, v1.Take(1).Single().NodeName, t2.RoomNum, Math.Round(t2.Area.Value, 2).ToString(), v_J.Take(1).Single().JYName, t2.QS.ToString(), t2.ComeDate.Value.ToString("yyyy年MM月dd日"), t2.OutTime.Value.ToString("yyyy年MM月dd日"), t2.FZMoney.Value.ToString("f2"), t2.YZZJ, DataFunction.GetNumToUpper(t2.FZMoney.Value), getTotalMoney().ToString("f2"), DataFunction.GetNumToUpper(getTotalMoney()), t2.WYMoney.Value.ToString("f2") }
    44              );
    45 
    46 
    47             SaveFileDialog saveFileDialog = new SaveFileDialog();
    48 
    49             saveFileDialog.Filter = "word文件(*.doc)|*.doc|所有文件(*.*)|*.*";
    50             if (saveFileDialog.ShowDialog() == DialogResult.OK)
    51             {
    52                 doc.Save(saveFileDialog.FileName);//也可以保存为1.doc 兼容03-07
    53 
    54                 MessageBox.Show("生成成功!");
    55                 
    56                 System.Diagnostics.Process.Start(saveFileDialog.FileName);
    57                 return;
    58             }
    View Code

               

  • 相关阅读:
    NOI2010 能量采集
    NOI2011 兔兔与蛋蛋游戏
    动态规划——min/max的单调性优化总结
    NOI2011 NOI嘉年华
    NOI2011 阿狸的打字机
    NOI2011 智能车比赛
    NOI2011 兔农
    NOI2012 魔幻棋盘
    NOI2012 美食节
    NOI2012 迷失游乐园
  • 原文地址:https://www.cnblogs.com/xiajing12345/p/3189294.html
Copyright © 2011-2022 走看看