你识条铁 發表於 2025-11-3 16:15:00

国产化Excel处理控件Spire.XLS教程:如何使用 Java 将 TXT 文本转换为 Excel 表格

<p>在数据处理和分析中,TXT 文件常被用作一种简单的数据存储格式,但它们缺乏结构化布局和强大的数据分析功能。与此相比,Excel 文件具有更高的可操作性,支持更丰富的数据分析、排序、过滤及图表功能。因此,将 TXT 文件转换为 Excel 格式,能够使数据更加易于管理和分析。</p>
<p>本文将介绍如何使用 Java 和&nbsp;<strong>Spire.XLS for Java&nbsp;</strong>库实现将 TXT 文件转换为 Excel 表格,帮助您更高效地处理和分析数据。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Java下载&nbsp;,请联系慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升开发技能!</strong></span></p>
<h2>为什么要将 TXT 转换为 Excel?</h2>
<p>虽然 TXT 文件因其简单性而广泛使用,但它们通常不适用于复杂的数据分析和报表生成。将 TXT 文件转换为 Excel 格式有以下几大优势:</p>
<ul>
<li><strong>自动化处理</strong>:可以通过代码自动处理大规模数据,节省人工操作时间。</li>
<li><strong>结构化数据</strong>:Excel 支持表格形式的组织,可以对数据进行格式化和排序,更便于后续分析。</li>
<li><strong>高级功能</strong>:Excel 提供了强大的功能,例如数据透视表、图表、公式计算等,帮助您从数据中提取有价值的信息。</li>
<li><strong>系统集成</strong>:可以将转换功能集成到 Java 应用程序中,满足不同的业务需求。</li>
</ul>
<h2>准备工作</h2>
<p>在开始之前,确保您已经安装了 Java 开发环境,并将<strong>&nbsp;Spire.XLS for Java&nbsp;</strong>库添加到您的项目中。以下是详细步骤。</p>
<h3>安装 JDK(Java Development Kit)</h3>
<p>首先,您需要安装 Java。可以从&nbsp;Oracle 官方网站&nbsp;下载并安装最新版本的 Java 开发工具包(JDK)。安装完成后,可以在命令行中运行 java -version 检查安装是否成功。</p>
<h3>引入 Spire.XLS for Java库</h3>
<p>Spire.XLS 是一款功能强大的 Java 库,可轻松实现 Excel 文件的读取、编辑和保存。要在项目中使用 Spire.XLS,您可以<strong>联系慧都科技下载Spire.Xls.jar</strong>,并将其手动添加到项目中。或者通过&nbsp;Maven&nbsp;引入依赖,只需在 pom.xml 文件中添加以下内容:</p>
<pre class="prettyprint highlighter-hljs"><code>&lt;repositories&gt;
    &lt;repository&gt;
      &lt;id&gt;com.e-iceblue&lt;/id&gt;
      &lt;name&gt;e-iceblue&lt;/name&gt;
      &lt;url&gt;https://repo.e-iceblue.cn/repository/maven-public/&lt;/url&gt;
    &lt;/repository&gt;
&lt;/repositories&gt;
&lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;e-iceblue&lt;/groupId&gt;
      &lt;artifactId&gt;spire.xls&lt;/artifactId&gt;
      &lt;version&gt;15.10.5&lt;/version&gt;
    &lt;/dependency&gt;
&lt;/dependencies&gt;</code></pre>
<h3>准备 TXT 文件</h3>
<p>确保您的 TXT 文件具有一致的结构,通常每一行代表一条记录,列与列之间使用某种分隔符(如逗号、制表符或空格)隔开。例如,以下是一个示例 TXT 文件:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251103/150825_7.png"></p>
<p>&nbsp;</p>
<h2>如何使用 Java 将 TXT 文件转换为 Excel</h2>
<p>接下来,我们将详细介绍如何使用 Java 和 Spire.XLS 将 TXT 文件转换为 Excel 格式。以下是详细实现步骤。</p>
<p><strong>步骤 1:导入相关类</strong></p>
<p>首先,导入&nbsp;<strong>Spire.XLS for Java&nbsp;</strong>库的类和其他所使用到的类:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>import com.spire.xls.*;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;</code></pre>
<p><strong>步骤 2:读取 TXT 文件</strong></p>
<p>我们将使用 Java 的 BufferedReader 类来读取 TXT 文件的内容,并使用分隔符将每行拆分成列。假设 TXT 文件使用制表符(Tab)作为分隔符:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 读取 TXT 文件
BufferedReader reader = new BufferedReader(new FileReader("数据.txt"));
String line;
List&lt;String[]&gt; data = new ArrayList&lt;&gt;();
      
while ((line = reader.readLine()) != null) {
   // 使用制表符拆分每一行的数据
    String[] row = line.split("\t");
    data.add(row);
}
reader.close();</code></pre>
<p>在该代码中,我们使用 split("\t") 方法按制表符分割每一行。如果您的 TXT 文件使用其他分隔符(如逗号或空格),只需修改 split() 方法中的参数。</p>
<p><strong>步骤 3:创建 Excel 工作簿</strong></p>
<p>接下来,我们创建一个 Excel 工作簿对象,并获取其第一个工作表:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 创建 Excel 工作簿
Workbook workbook = new Workbook();
// 获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);</code></pre>
<p><strong>步骤 4:将数据写入 Excel 工作表</strong></p>
<p>使用<strong>&nbsp;Spire.XLS</strong>&nbsp;提供的 API,将从 TXT 文件中读取的数据逐行逐列写入 Excel 工作表:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 将数据写入工作表
for (int i = 0; i &lt; data.size(); i++) {
    String[] rowData = data.get(i);
    for (int j = 0; j &lt; rowData.length; j++) {
      sheet.getCellRange(i + 1, j + 1).setValue(rowData);
      sheet.getCellRange(1, j + 1).getStyle().getFont().isBold(true);
    }
}</code></pre>
<p>注意,Excel 单元格的索引从 1 开始,因此我们在 getCellRange(i + 1, j + 1) 中加了 1 来确保正确定位单元格。</p>
<p><strong>步骤 5:保存 Excel 文件</strong></p>
<p>完成数据写入后,可以将工作簿保存为 Excel 文件。<strong>Spire.XLS</strong>&nbsp;支持保存为 .xlsx 和 .xls 格式:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 将工作簿保存为 Excel 文件
workbook.saveToFile("转换后的数据.xlsx", ExcelVersion.Version2016);</code></pre>
<h3>TXT 转 Excel完整代码示例</h3>
<p>以下是完整的代码示例,展示了如何在 Java 中将 TXT 文件转换为 Excel 文件:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>import com.spire.xls.*;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

public class TxtToExcel {
    public static void main(String[] args) throws Exception {
      // 读取 TXT 文件
      BufferedReader reader = new BufferedReader(new FileReader("数据.txt"));
      String line;
      List&lt;String[]&gt; data = new ArrayList&lt;&gt;();

      while ((line = reader.readLine()) != null) {
            // 使用制表符拆分每一行的数据
            String[] row = line.split("\t");
            data.add(row);
      }
      reader.close();

      // 创建 Excel 工作簿
      Workbook workbook = new Workbook();

      // 获取第一个工作表
      Worksheet sheet = workbook.getWorksheets().get(0);

      // 将数据写入工作表
      for (int i = 0; i &lt; data.size(); i++) {
            String[] rowData = data.get(i);
            for (int j = 0; j &lt; rowData.length; j++) {
                sheet.getCellRange(i + 1, j + 1).setValue(rowData);
                sheet.getCellRange(1, j + 1).getStyle().getFont().isBold(true);
            }
      }

      // 保存为 Excel 文件
      workbook.saveToFile("转换后的数据.xlsx", ExcelVersion.Version2016);
    }
}</code></pre>
<p>生成的Excel文档如下图所示:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251103/151119_1.png"></p>
<p>&nbsp;</p>
<h2>TXT 文本转 Excel 的进阶技巧</h2>
<h3>处理不同的分隔符</h3>
<p>在 Java 中,split() 方法可以用来根据特定的分隔符将字符串拆分成数组。假设您的 TXT 文件使用不同的分隔符,如逗号、空格或分号,您可以根据需要修改 split() 方法的参数。</p>
<p>例如,如果文件使用逗号分隔,您可以这样处理:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>String[] row = line.split(",");// 如果使用逗号作为分隔符</code></pre>
<h3>格式化单元格</h3>
<p>在 Spire.XLS for Java 中,您可以通过访问单元格的 Style 属性来设置格式化选项,例如背景颜色、字体加粗、文本颜色等。以下是设置单元格背景颜色和字体加粗的正确 Java 写法:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 设置单元格背景颜色为黄色
sheet.getCellRange(1, 1).getStyle().setColor(Color.YELLOW);

// 设置字体加粗
sheet.getCellRange(1, 1).getStyle().getFont().isBold(true);</code></pre>
<h3>自适应列宽</h3>
<p>在 Spire.XLS for Java 中,可以通过 AutoFitColumns() 方法来自动调整列宽以适应内容。正确的 Java 代码如下:</p>
<pre class="prettyprint lang-java highlighter-hljs"><code>// 自动调整列宽
sheet.getAllocatedRange().autoFitColumns();</code></pre>
<h2>总结</h2>
<p>通过使用<strong>&nbsp;Spire.XLS for Java</strong>,您可以轻松地将 TXT 文件转换为 Excel 格式,进而优化数据管理、分析和报表生成的流程。无论是日志数据、财务记录,还是大规模数据集的处理,这种方法都能够显著提升工作效率,减少人工操作。</p>
<p>此外,<strong>Spire.XLS</strong>&nbsp;提供了强大的功能,您可以在转换过程中进一步自定义格式、处理不同的分隔符,并进行细致的数据分析和处理,帮助您充分发挥数据的价值。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.Doc for Java下载&nbsp;,请联系慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升开发技能!</strong></span></p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19187436
頁: [1]
查看完整版本: 国产化Excel处理控件Spire.XLS教程:如何使用 Java 将 TXT 文本转换为 Excel 表格