Freemarker是一种模板引擎,可以用于生成各种文本输出,包括CSV文件。下面是使用Freemarker创建CSV输出的步骤:
以下是一个示例代码,展示了如何使用Freemarker创建CSV输出:
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class CsvGenerator {
public static void main(String[] args) {
// 创建Freemarker配置
Configuration cfg = new Configuration(Configuration.VERSION_2_3_31);
cfg.setClassForTemplateLoading(CsvGenerator.class, "/templates");
try {
// 加载模板
Template template = cfg.getTemplate("csv_template.ftl");
// 准备数据
Map<String, Object> data = new HashMap<>();
data.put("header", new String[]{"Name", "Age", "Email"});
data.put("rows", new Object[][]{
{"John Doe", 30, "john.doe@example.com"},
{"Jane Smith", 25, "jane.smith@example.com"}
});
// 创建输出文件
FileWriter writer = new FileWriter("output.csv");
// 填充数据并生成CSV文件
template.process(data, writer);
// 关闭输出流
writer.close();
System.out.println("CSV file generated successfully.");
} catch (IOException | TemplateException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们假设有一个名为csv_template.ftl
的Freemarker模板文件,它定义了CSV文件的结构和内容。模板中使用了header
和rows
两个变量来表示列头和数据行。在代码中,我们准备了一个包含列头和数据的data
对象,并将其传递给模板进行填充。最后,我们将填充好数据的模板写入到名为output.csv
的文件中。
请注意,这只是一个简单的示例,实际使用中你可能需要根据自己的需求进行适当的修改和扩展。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云