Excelから数式を他のタイプにエクスポートする方法
時には、作業ニーズに応じてコード内でExcelの数式を他の形式にエクスポートする必要があります。Aspose.Cellライブラリはこれらのニーズを満たすことができます。以下の内容では、Excelの数式を他の形式にエクスポートする方法についていくつかの手法を紹介します。これらの方法が参考になれば幸いです。
Aspose.Cellsを使用して目標を達成するためのサンプルコードを準備しています。必要なサンプルファイルも提供します。
サンプルファイル:Sample.xlsx
数式をLaTeX表現としてエクスポート
Excelの数式をLaTeX表現としてエクスポートしたい場合は、ToLaTeX()メソッドを使用できます。
以下のサンプルコードは、ToLaTeX()メソッドを使って得られた結果をHTMLに挿入する方法を示しています。
C#による-LaTeX
string dirPath = @""; | |
Workbook workbook = new Workbook(dirPath + "Sample.xlsx"); | |
StringBuilder sb = new StringBuilder(); | |
sb.Append("<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Title</title>\r\n <script type=\"text/javascript\" async src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML\"></script>\r\n <script type=\"text/x-mathjax-config\">\r\n MathJax.Hub.Config({\r\n\t tex2jax: {\r\n\t inlineMath: [['$','$'], ['\\\\(','\\\\)']],\r\n\t processEscapes: true\r\n\t }\r\n\t});\r\n </script>\r\n</head>\r\n<body>"); | |
ShapeCollection shapes = workbook.Worksheets[0].Shapes; | |
TextBox textBox = (TextBox)shapes[0]; | |
EquationNode mathNode = textBox.GetEquationParagraph().GetChild(0); | |
string s = mathNode.ToLaTeX(); | |
sb.AppendLine("<p>$" + s + "$</p>"); | |
sb.Append("</body>\r\n</html>"); | |
File.WriteAllText(@"result.html", sb.ToString()); |
数式をMathML表現としてエクスポート
Excelの数式をMathML表現としてエクスポートしたい場合は、ToMathML()メソッドを使用できます。
以下のサンプルコードは、ToMathML()メソッドを使用し、生成された結果をHTMLに挿入する方法を示しています。
C#による-MathML
string dirPath = @""; | |
Workbook workbook = new Workbook(dirPath + "Sample.xlsx"); | |
StringBuilder sb = new StringBuilder(); | |
sb.Append("<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Title</title>\r\n <script type=\"text/javascript\" async src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML\"></script>\r\n</head>\r\n<body>"); | |
ShapeCollection shapes = workbook.Worksheets[0].Shapes; | |
TextBox textBox = (TextBox)shapes[0]; | |
EquationNode mathNode = textBox.GetEquationParagraph().GetChild(0); | |
sb.AppendLine(mathNode.ToMathML()); | |
sb.Append("</body>\r\n</html>"); | |
File.WriteAllText(@"result.html", sb.ToString()); |