public void OpenTest_Open()
 {
     using (var excel = new OperateExcel())
     {
         excel.Open("template.xlsx");
         excel.SelectSheet("テスト");
         Assert.AreEqual("ほげほげ", excel.Read <string>(Cell.A1("B2")));
     }
 }
 public void CopySheetTestReal()
 {
     using (var excel = new OperateExcel())
     {
         excel.Open("template.xlsx");
         excel.CopySheet("コピーした奴", "検索", OperateExcel.SheetPosition.First);
         excel.CreateSheet("新規作成奴", OperateExcel.SheetPosition.AfterCurrentSheet);
         excel.SelectSheet("新規作成奴");
         excel.Write(Cell.A1("A1"), "おおおお");
         excel.Save("testCopy.xlsx");
     }
 }
 public void IsStrikethroughTest()
 {
     using (var excel = new OperateExcel())
     {
         excel.Open("template.xlsx");
         //全て取り消し線なし
         Assert.AreEqual(false, excel.IsStrikethrough(Cell.A1("B9")));
         //セルごと取り消し線
         Assert.AreEqual(true, excel.IsStrikethrough(Cell.A1("B10")));
         //セル内の一部を取り消し線
         Assert.AreEqual(false, excel.IsStrikethrough(Cell.A1("B11")));
         //セル内のテキストを全て取り消し線
         Assert.AreEqual(true, excel.IsStrikethrough(Cell.A1("B12")));
         //改行以外を全て取り消し線
         Assert.AreEqual(false, excel.IsStrikethrough(Cell.A1("B13")));
         Assert.AreEqual(true, excel.IsStrikethrough(CellsRange.A1("B14:C14")));
         Assert.AreEqual(false, excel.IsStrikethrough(CellsRange.A1("B15:C15")));
     }
 }
        public void CopySheetTest()
        {
            using (var excel = new OperateExcel())
            {
                excel.Open();
                excel.Write(Cell.A1("B2"), "あいうえお");
                excel.CopySheet("first", "Sheet1", OperateExcel.SheetPosition.First);
                var names = excel.GetSheetNames();
                Assert.AreEqual(2, names.Count);
                Assert.AreEqual("first", names[0]);
                Assert.AreEqual("Sheet1", names[1]);

                excel.CopySheet("last", "Sheet1", OperateExcel.SheetPosition.Last);
                names = excel.GetSheetNames();
                Assert.AreEqual(3, names.Count);
                Assert.AreEqual("first", names[0]);
                Assert.AreEqual("Sheet1", names[1]);
                Assert.AreEqual("last", names[2]);

                excel.CopySheet("after", "Sheet1", OperateExcel.SheetPosition.AfterCurrentSheet);
                names = excel.GetSheetNames();
                Assert.AreEqual(4, names.Count);
                Assert.AreEqual("first", names[0]);
                Assert.AreEqual("Sheet1", names[1]);
                Assert.AreEqual("after", names[2]);
                Assert.AreEqual("last", names[3]);

                excel.CopySheet("before", "Sheet1", OperateExcel.SheetPosition.BeforeCurrentSheet);
                names = excel.GetSheetNames();
                Assert.AreEqual(5, names.Count);
                Assert.AreEqual("first", names[0]);
                Assert.AreEqual("before", names[1]);
                Assert.AreEqual("Sheet1", names[2]);
                Assert.AreEqual("after", names[3]);
                Assert.AreEqual("last", names[4]);

                foreach (var name in names)
                {
                    excel.SelectSheet(name);
                    Assert.AreEqual("あいうえお", excel.Read <string>(Cell.A1("B2")));
                }
            }
        }
示例#5
0
        public List <CheckResult> Check(List <CheckTarget> targets)
        {
            var results = new List <CheckResult>();

            foreach (var target in targets)
            {
                var specMetaInfo    = specDocMetaInfoRepository.GetMetaInfo(target.SpecName);
                var sheet           = specMetaInfo.Sheets.FirstOrDefault(x => x.SheetName == target.SheetName);
                var resourceReaders = CreateResourceReaders(sheet.ResourceFiles);

                using (var excel = new OperateExcel.OperateExcel())
                {
                    excel.Open(specMetaInfo.SpecDocPath);
                    excel.SelectSheet(target.SheetName);
                    foreach (var row in target.CheckRows)
                    {
                        foreach (var header in sheet.TableHeaders)
                        {
                            var resourceId = excel.Read <string>(Cell.A1(row, header.ResourceIdColumn));
                            if (string.IsNullOrEmpty(resourceId))
                            {
                                results.Add(new CheckResult(
                                                target.SpecName,
                                                sheet.SheetName,
                                                row,
                                                "-",
                                                "外仕のリソースIDが空欄です."
                                                ));
                                continue;
                            }

                            foreach (var langColumn in header.LanguageColumns)
                            {
                                var specString      = excel.Read <string>(Cell.A1(row, langColumn.Column));
                                var resouceFileInfo = resourceReaders[langColumn.Language];
                                var resourceString  = resouceFileInfo.Reader.FindString(resourceId);

                                if (resourceString == null)
                                {
                                    results.Add(new CheckResult(
                                                    target.SpecName,
                                                    sheet.SheetName,
                                                    row,
                                                    resouceFileInfo.ResourceFile.FilePath,
                                                    "リソースID(" + resourceId + ")がリソースファイルに見つかりません."
                                                    ));
                                    continue;
                                }

                                results.Add(
                                    new CheckResult(
                                        target.SpecName,
                                        sheet.SheetName,
                                        row,
                                        resouceFileInfo.ResourceFile.FilePath,
                                        resourceString,
                                        specString
                                        ));
                            }
                        }
                    }
                }
            }
            return(results);
        }
示例#6
0
        public void CellByA1ColumnTest()
        {
            var range = Cell.A1(100, "AB");

            Assert.AreEqual("AB100", range.A1Address);
        }