コード例 #1
0
        public void XlsxSubstituteSharedStrings()
        {
            var xdoc = new XmlDocument();

            xdoc.Load("XlsxSharedStrings2.xml");

            var stream = new MemoryStream();

            xdoc.Save(stream);

            var xdoc2 = new XmlDocument();

            stream.Position = 0;
            xdoc2.Load(stream);

            var replacements = new Dictionary <string, string>()
            {
                { "Доверенность", "123-456/АГ" },
                { "Адрес", "Петропавловск-Камчатский" },
                { "Фамилия", "Иванов И.П." },
            };

            var sheetDocs = new List <XmlDocument>();
            var engine    = new Engine();

            Xlsx.ReplaceMergeFieldsAndReturnMissingFieldNames(xdoc2, sheetDocs, replacements, engine);

            var fields = Xlsx.GetSharedStrings(xdoc2);

            Assert.AreEqual("  На основании доверенности № 123-456/АГ в лице Иванов И.П., проживающий по адресу: Петропавловск-Камчатский ", fields.Single().StringValue);
        }
コード例 #2
0
        public void XlsxSubstituteDouble()
        {
            var xdoc = new XmlDocument();

            xdoc.Load("XlsxSharedStrings3.xml");

            var stream = new MemoryStream();

            xdoc.Save(stream);

            var xdoc2 = new XmlDocument();

            stream.Position = 0;
            xdoc2.Load(stream);

            var sheetDoc = new XmlDocument();

            sheetDoc.Load("sheet1.xml");

            var sheetStream = new MemoryStream();

            sheetDoc.Save(sheetStream);

            var sheetDoc2 = new XmlDocument();

            sheetStream.Position = 0;
            sheetDoc2.Load(sheetStream);
            double dvalue       = 1500.03;
            var    replacements = new Dictionary <string, string>()
            {
                { "Цена", dvalue.ToString(CultureInfo.InvariantCulture) },
            };

            var sheetDocList = new List <XmlDocument>();

            sheetDocList.Add(sheetDoc2);

            var cells = Xlsx.GetStringCells(sheetDoc2, 1).ToList();

            Assert.AreEqual(1, cells.Count());

            var engine = new Engine();

            Xlsx.ReplaceMergeFieldsAndReturnMissingFieldNames(xdoc2, sheetDocList, replacements, engine);

            var fields = Xlsx.GetSharedStrings(xdoc2).ToList();

            Assert.AreEqual(2, fields.Count);
            Assert.AreEqual("", fields[1].StringValue);

            var cells2 = Xlsx.GetStringCells(sheetDoc2, 1);

            Assert.AreEqual(0, cells2.Count());

            // check that the original cell node updated with a new value
            Assert.AreEqual(1500.03, cells.Single().DoubleValue);
        }
コード例 #3
0
        public void XlsxParseSharedStrings()
        {
            var xdoc = new XmlDocument();

            xdoc.Load("XlsxSharedStrings.xml");
            var fields = Xlsx.GetSharedStrings(xdoc).ToArray();

            Assert.AreEqual(4, fields.Length);

            Assert.AreEqual("[[Родительный (Должность представителя Лицензиата) ]]", fields[0].Text);
            Assert.AreEqual("[[ Родительный (ФИО представителя Лицензиата) ]] ", fields[1].Text);
            Assert.AreEqual("[[Полное наименование компании Лицензиата]]", fields[2].Text);
            Assert.AreEqual("  На основании доверенности № [[Доверенность]] в лице [[ Фамилия ]], проживающий по адресу:[[ Адрес]] ", fields[3].Text);
        }