public void XlsxGetCompanyTest()
        {
            var file = new XlsxFile(@"..\..\SampleFiles\Test.xlsx");
            file.OpenFile();

            Assert.AreEqual("Test Company", file.Company);

            file.CloseFile();
        }
        public void XlsxGetModifiedTimeUtcTest()
        {
            var file = new XlsxFile(@"..\..\SampleFiles\Test.xlsx");
            file.OpenFile();

            Assert.AreEqual(new DateTime(2016, 3, 1, 3, 30, 33, DateTimeKind.Utc), file.ModifiedTimeUtc);

            file.CloseFile();
        }
        public void XlsxGetAuthorTest()
        {
            var file = new XlsxFile(@"..\..\SampleFiles\Test.xlsx");
            file.OpenFile();

            Assert.AreEqual("Test Author", file.Author);

            file.CloseFile();
        }
Exemplo n.º 4
0
    public void Init()
    {
        m_listProperty = new List <string>();
        m_listDescript = new List <string>();
        m_listType     = new List <string>();

        using (XlsxFile xlsxFile = new XlsxFile(m_fileName))
        {
            using (XlsxFile.Sheet sheet = xlsxFile.Sheets[0])
            {
                m_sheet = sheet;
                if (m_sheet.RowCount < 3)
                {
                    //Console.WriteLine("文件:" + m_fileName + " 格式错误!");
                    UnityEngine.Debug.LogError("文件:" + m_fileName + " 格式错误!");
                    return;
                }

                m_listProperty.AddRange(m_sheet.ReadRow());
                m_listDescript.AddRange(m_sheet.ReadRow());
                m_listType.AddRange(m_sheet.ReadRow());

                for (int i = m_listProperty.Count - 1; i >= 0; i--)
                {
                    if (m_listProperty[i] == "" || m_listProperty[i] == "0")
                    {
                        m_listProperty.RemoveAt(i);
                        m_listDescript.RemoveAt(i);
                        m_listType.RemoveAt(i);
                    }
                }

                for (int i = 0; i < m_listType.Count; i++)
                {
                    if (string.Compare(m_listType[i], "string", true) != 0 &&
                        string.Compare(m_listType[i], "int", true) != 0 &&
                        string.Compare(m_listType[i], "float", true) != 0)
                    {
                        //Console.WriteLine("文件:" + m_fileName + "第 " + i + " 列元素的类型错误! string int float");
                        UnityEngine.Debug.LogError("文件:" + m_fileName + "第 " + i + " 列元素的类型错误! string int float");
                        return;
                    }
                }

                ExportToXML();
                ExportToCSharp();
            }
        }
    }
        public void Create_XlsxCreated_IsTrue()
        {
            //Arrange
            IXlsxCreator creator = new XlsxCreator(new WorkbookCreator(new StylesheetManager(new FontManager(), new BorderManager(), new FillManager(), new NumberingFormatManager(), new CellFormatManager()), new SharedStringManager()));
            string       path    = @"C:\Users\sanjay\source\repos\Libraries\XlsxHandling\src-test\XlsxHandling.Test\output.xlsx";
            IXlsxFile    file    = new XlsxFile()
            {
                PathToStoreAt = path
            };

            //Actual
            bool created = creator.Create(file);

            //Assert
            Assert.IsTrue(created);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 导出文件夹下所有配置的总览
        /// </summary>
        /// <param name="rootDirectoryInfo"></param>
        static XElement ExportAllRecorderOverviewInDirectory(DirectoryInfo rootDirectoryInfo)
        {
            XElement node = new XElement(rootDirectoryInfo.Name);

            foreach (DirectoryInfo directorInfo in rootDirectoryInfo.GetDirectories())
            {
                XElement chileNode = ExportAllRecorderOverviewInDirectory(directorInfo);
                node.Add(chileNode);
            }
            foreach (FileInfo fileInfo in rootDirectoryInfo.GetFiles())
            {
                if (!CheckIsXlsxFile(fileInfo.FullName, false))
                {
                    continue;
                }
                XlsxFile xlsxFile  = new XlsxFile(fileInfo.FullName);
                XElement chileNode = xlsxFile.ExportRecorderOverview();
                node.Add(chileNode);
            }
            return(node);
        }
Exemplo n.º 7
0
        public static void Main(string[] args)
        {
            string             path   = @"..\..\testfile.xlsx";
            IList <IXlsxSheet> sheets = SetSheets();

            IXlsxFile file = new XlsxFile()
            {
                PathToStoreAt = path,
                Sheets        = sheets
            };

            IContainer container = BuildIocContainer();

            IXlsxCreator creator = container.Resolve <IXlsxCreator>();

            //IXlsxCreator creator = new XlsxCreator(new WorkbookCreator(new StylesheetManager(new FontManager(), new BorderManager(), new FillManager(), new NumberingFormatManager(), new CellFormatManager()), new SharedStringManager()));
            try {
                creator.Create(file);
                Console.WriteLine("{0} created", path);
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
 public void XlsxOpenAndCloseFileTest()
 {
     var file = new XlsxFile(@"..\..\SampleFiles\Test.xlsx");
     file.OpenFile();
     file.CloseFile();
 }
Exemplo n.º 9
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     CsvFile?.Invoke(this, EventArgs.Empty);
     XlsxFile?.Invoke(this, EventArgs.Empty);
     FilesDifference?.Invoke(this, EventArgs.Empty);
 }
Exemplo n.º 10
0
        /// <summary>
        /// 生成所有文件
        /// </summary>
        /// <param name="resultCallback"></param>
        /// <param name="progressCallback"></param>
        public static void GenAllFile(Action <bool> resultCallback, Action <float> progressCallback)
        {
            ConfigData configData = ConfigData.GetSingle();

            foreach (var item in configData.CodeConfigDataMap)
            {
                if (item.Value.NeedExport)
                {
                    if (!Directory.Exists(item.Value.ExportXmlAbsolutePath))
                    {
                        Log(false, $"xml配置文件根路径:{item.Value.ExportXmlAbsolutePath}不存在!");
                        resultCallback?.Invoke(false);
                        return;
                    }
                    if (!Directory.Exists(item.Value.ExportCodeAbsolutePath))
                    {
                        Log(false, $"{item.Key}代码文件根路径:{item.Value.ExportCodeAbsolutePath}不存在!");
                        resultCallback?.Invoke(false);
                        return;
                    }
                }
            }
            progressCallback?.Invoke(0);
            int    finishFileNumber    = 0;
            string currentXlsxFilePath = "";

            try
            {
                Task.Run(() =>
                {
                    Log(true, $"开始删除文件所有文件!");
                    foreach (var item in configData.CodeConfigDataMap)
                    {
                        if (item.Value.NeedExport)
                        {
                            Directory.Delete(item.Value.ExportXmlAbsolutePath, true);
                            Directory.CreateDirectory(item.Value.ExportXmlAbsolutePath);
                            Directory.Delete(item.Value.ExportCodeAbsolutePath, true);
                            Directory.CreateDirectory(item.Value.ExportCodeAbsolutePath);
                        }
                    }
                    Log(true, $"开始生成文件!");
                    List <string> fileRelaticePathList = GetDirectoryXlsxFileRelativeList(GetImportXlsxAbsolutePath());
                    foreach (string xlsxFileRelativePath in fileRelaticePathList)
                    {
                        string xlsxFilePath = GetImportXlsxAbsolutePath() + "/" + xlsxFileRelativePath;
                        currentXlsxFilePath = xlsxFilePath;

                        XlsxFile xlsxFile = new XlsxFile(xlsxFilePath);
                        foreach (var item in configData.CodeConfigDataMap)
                        {
                            if (item.Value.NeedExport)
                            {
                                xlsxFile.Export(item.Key, xlsxFileRelativePath);
                            }
                        }
                        finishFileNumber++;
                        progressCallback?.Invoke((float)finishFileNumber / fileRelaticePathList.Count);
                    }
                    Log(true, $"生成文件结束!");
                    resultCallback?.Invoke(true);
                });
            }
            catch (CustomException customException)
            {
                Log(false, $"生成文件失败!{currentXlsxFilePath}");
                Log(false, $"{customException.customMessage}");
                resultCallback?.Invoke(false);
            }
            catch (Exception exception)
            {
                Log(false, $"生成文件失败!{currentXlsxFilePath}");
                Log(false, exception);
                resultCallback?.Invoke(false);
            }
        }