Beispiel #1
0
        private void btnUpload_Click(object sender, EventArgs e)
        {
            if (DRLJ.Text != "")
            {
                IWorkbook             workbook;
                List <List <string> > zcfzb = new List <List <string> >();
                List <List <string> > lrb   = new List <List <string> >();
                using (FileStream fs = new FileStream(DRLJ.Text, FileMode.Open, FileAccess.Read))
                {
                    workbook = new HSSFWorkbook(fs);
                    ISheet sheet = workbook.GetSheet("取数");
                    int    rowK, rowZ;
                    rowK = int.Parse(Func.GetString(sheet.GetRow(0).GetCell(1)));
                    rowZ = int.Parse(Func.GetString(sheet.GetRow(0).GetCell(2)));
                    for (int i = rowK; i <= rowZ; i++)
                    {
                        var list = new List <string>();
                        for (int j = 0; j < 7; j++)
                        {
                            list.Add(Func.GetString(sheet.GetRow(i).GetCell(j)));
                        }
                        zcfzb.Add(list);
                    }
                    rowK = int.Parse(Func.GetString(sheet.GetRow(1).GetCell(1)));
                    rowZ = int.Parse(Func.GetString(sheet.GetRow(1).GetCell(2)));
                    for (int i = rowK; i <= rowZ; i++)
                    {
                        var list = new List <string>();
                        for (int j = 8; j < 12; j++)
                        {
                            list.Add(Func.GetString(sheet.GetRow(i).GetCell(j)));
                        }
                        lrb.Add(list);
                    }
                }

                string    nsrsbh    = "91350203MA2XTLL347";
                string    nsrmc     = "厦门馥蕾餐饮管理有限公司";
                string    license   = "7fdd4b67ce41e9c916172dfd0499b8ad";
                string    sequence  = Guid.NewGuid().ToString("N");               // e0a953c3ee6040eaa9fae2b667060e09
                string    timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff"); //yyyy MM dd HH24 mi ss SSS 年月日24时分秒毫秒
                Cauthen   CS        = new Cauthen("100008", nsrsbh, nsrmc, license, sequence, timestamp, "1", "2018-04-01", "2018-06-30");
                XDocument document;
                //获取到XML的根元素进行操作
                document = XDocument.Load(System.AppDomain.CurrentDomain.BaseDirectory + @"template\100008.xml");
                Func.ProduceReportBody(ref document, "100008", CS, zcfzb, lrb);
                document.Save(System.AppDomain.CurrentDomain.BaseDirectory + @"template\100008.xml");
                //将XML文件加载进来
                document = XDocument.Load(System.AppDomain.CurrentDomain.BaseDirectory + @"template\envelope.xml");
                Func.ProduceEnvelopeBody(ref document, CS);
                document.Save(System.AppDomain.CurrentDomain.BaseDirectory + @"template\envelope.xml");
                MessageBox.Show(Func.Upload("100008"));
            }
        }
Beispiel #2
0
        /// <summary>
        /// 生成主体文档
        /// </summary>
        /// <param name="XDEnvelope">主体文档</param>
        /// <param name="cauthen">参数</param>
        public static void ProduceEnvelopeBody(ref XDocument XDEnvelope, Cauthen cauthen)
        {
            XElement XEauthen = XDEnvelope.Element("envelope").Element("header").Element("authen");

            for (int i = 0; i < 6; i++)
            {
                XEauthen.Element(cauthen.name[i]).SetValue(cauthen[i]);
            }
            XEauthen = XDEnvelope.Element("envelope").Element("body").Element("logic");
            for (int i = 6; i <= 8; i++)
            {
                XEauthen.Element(cauthen.name[i]).SetValue(cauthen[i]);
            }

            using (StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"template\" + cauthen.service + ".xml", Encoding.GetEncoding("gb2312")))
            {
                XDEnvelope.Element("envelope").Element("body").Element("logic").Element("cjbbxml").SetValue(sr.ReadToEnd());
                sr.Close();
            }
        }
Beispiel #3
0
        public static void ProduceReportBody(ref XDocument XDReport, string SBLX, Cauthen cauthen, List <List <string> > zcfzb, List <List <string> > lrb)
        {
            XNamespace xNamespace = "http://www.chinatax.gov.cn/dataspec/";
            XElement   xElement   = XDReport.Element(xNamespace + "taxML").Element(xNamespace + "syxqyzcfzb").Element(xNamespace + "nsrxxForm1");

            xElement.Element(xNamespace + "nsrsbh").SetValue(cauthen.nsrsbh);
            xElement.Element(xNamespace + "nsrmc").SetValue(cauthen.nsrmc);
            xElement.Element(xNamespace + "bsrq").SetValue(DateTime.Now.ToString("yyyy-MM-dd"));
            xElement.Element(xNamespace + "skssqq").SetValue(cauthen.sssq_q);
            xElement.Element(xNamespace + "skssqz").SetValue(cauthen.sssq_z);
            foreach (var xqyzcfzbGridlb in XDReport.Element(xNamespace + "taxML").Element(xNamespace + "syxqyzcfzb").Element(xNamespace + "syxqyzcfzbGrid").Elements())
            {
                int i = int.Parse(xqyzcfzbGridlb.Element(xNamespace + "ewbhxh").Value);
                if (zcfzb[i - 1][1] != "")
                {
                    xqyzcfzbGridlb.Element(xNamespace + "qmyeZc").SetValue(zcfzb[i - 1][2]);
                    xqyzcfzbGridlb.Element(xNamespace + "ncyeZc").SetValue(zcfzb[i - 1][3]);
                }
                if (zcfzb[i - 1][4] != "")
                {
                    xqyzcfzbGridlb.Element(xNamespace + "qmyeQy").SetValue(zcfzb[i - 1][5]);
                    xqyzcfzbGridlb.Element(xNamespace + "ncyeQy").SetValue(zcfzb[i - 1][6]);
                }
            }
            xElement = XDReport.Element(xNamespace + "taxML").Element(xNamespace + "syxqylrb").Element(xNamespace + "nsrxxForm2");
            xElement.Element(xNamespace + "nsrsbh").SetValue(cauthen.nsrsbh);
            xElement.Element(xNamespace + "nsrmc").SetValue(cauthen.nsrmc);
            xElement.Element(xNamespace + "bsrq").SetValue(DateTime.Now.ToString("yyyy-MM-dd"));
            xElement.Element(xNamespace + "skssqq").SetValue(cauthen.sssq_q);
            xElement.Element(xNamespace + "skssqz").SetValue(cauthen.sssq_z);
            foreach (var syxqylrbGrid in XDReport.Element(xNamespace + "taxML").Element(xNamespace + "syxqylrb").Element(xNamespace + "syxqylrbGrid").Elements())
            {
                int i = int.Parse(syxqylrbGrid.Element(xNamespace + "ewbhxh").Value);
                if (lrb[i - 1][1] != "")
                {
                    syxqylrbGrid.Element(xNamespace + "bnljje").SetValue(lrb[i - 1][2]);
                    syxqylrbGrid.Element(xNamespace + "byje").SetValue(lrb[i - 1][3]);
                }
            }
        }