Java 如何将Redis DB值写入excel工作表?
我使用的是Redis数据库管理器,客户是Jedis 我已经使用java执行了下面两个查询Java 如何将Redis DB值写入excel工作表?,java,excel,redis,apache-poi,jedis,Java,Excel,Redis,Apache Poi,Jedis,我使用的是Redis数据库管理器,客户是Jedis 我已经使用java执行了下面两个查询 System.out.println("Alphabets:"+Jedis.smembers("SET Name"); System.out.println("Books:"+Jedis.hgetall("key","value"); 产出如下: 1.第一次打印语句输出 字母表:[A,B,C,D,] 2.第二次打印语句输出 Books:Cookbook=[Vishnu,JavaBook=Balaguru
System.out.println("Alphabets:"+Jedis.smembers("SET Name");
System.out.println("Books:"+Jedis.hgetall("key","value");
产出如下:
1.第一次打印语句输出
字母表:[A,B,C,D,]
2.第二次打印语句输出
Books:Cookbook=[Vishnu,JavaBook=Balaguru,Macbook=Steve]
在这里,我想用下面的格式将上述输出值写入单个excel表格
标题:字母表列表
没有字母表
提前感谢您的帮助。您可以使用Apache POI或Jasper Reports来完成此操作 阿帕奇POI 对于本例,将其另存为
Worksheet.jrxml
,但记住路径,我们将在下一步中使用它
对于Java实现:
package q46617008;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;
public class JasperExample
{
private Map< String, Object > parameters;
private String filePath = "C:\\Path\\To\\Your\\Worksheet.jrxml";
public JasperExample( ) {
parameters = new HashMap<>( );
// Define your locale or set it as a parameter
parameters.put( JRParameter.REPORT_LOCALE, new Locale( "pt", "BR" ) );
parameters.put( "Alphabets", WorksheetExample.alphabets );
parameters.put( "Books", WorksheetExample.books );
}
public void exportPDF( WorksheetExample w ) throws Exception
{
JRDataSource reportDataSource = new JREmptyDataSource( 1 );
JasperReport report = JasperCompileManager.compileReport( filePath );
JasperPrint jasperPrint = JasperFillManager.fillReport( report, parameters, reportDataSource );
JRPdfExporter exporter = new JRPdfExporter( );
exporter.setExporterInput( new SimpleExporterInput( jasperPrint ) );
exporter.setExporterOutput( new SimpleOutputStreamExporterOutput( Files.newOutputStream( w.file, StandardOpenOption.CREATE ) ) );
exporter.exportReport( );
}
public void exportXLSX( WorksheetExample w ) throws Exception
{
JRDataSource reportDataSource = new JREmptyDataSource( 1 );
JasperReport report = JasperCompileManager.compileReport( filePath );
JasperPrint jasperPrint = JasperFillManager.fillReport( report, parameters, reportDataSource );
JRXlsxExporter exporter = new JRXlsxExporter( );
exporter.setExporterInput( new SimpleExporterInput( jasperPrint ) );
exporter.setExporterOutput( new SimpleOutputStreamExporterOutput( Files.newOutputStream( w.file, StandardOpenOption.CREATE ) ) );
exporter.exportReport( );
}
}
包装q46617008;
导入java.nio.file.Files;
导入java.nio.file.StandardOpenOption;
导入java.util.HashMap;
导入java.util.Locale;
导入java.util.Map;
导入net.sf.jasperreports.engine.JRDataSource;
导入net.sf.jasperreports.engine.JREmptyDataSource;
导入net.sf.jasperreports.engine.jr参数;
导入net.sf.jasperreports.engine.JasperCompileManager;
导入net.sf.jasperreports.engine.jaspeexportmanager;
导入net.sf.jasperreports.engine.JasperFillManager;
导入net.sf.jasperreports.engine.JasperPrint;
导入net.sf.jasperreports.engine.JasperReport;
导入net.sf.jasperreports.engine.export.JRPdfExporter;
导入net.sf.jasperreports.engine.export.ooxml.jrxlsxporter;
导入net.sf.jasperreports.export.SimpleExporterInput;
导入net.sf.jasperreports.export.SimpleOutputStreamExportRoutPut;
公共类示例
{
私有映射<字符串,对象>参数;
私有字符串filePath=“C:\\Path\\To\\Your\\sheet.jrxml”;
公共雅思范例(){
parameters=newhashmap();
//定义区域设置或将其设置为参数
parameters.put(jrparmeter.REPORT_LOCALE,新LOCALE(“pt”、“BR”));
参数.put(“字母表”,工作表示例.Alphabets);
参数.put(“Books”,WorksheetExample.Books);
}
public void exportPDF(工作表示例w)引发异常
{
JRDataSource reportDataSource=新的JREPTYDATASURCE(1);
JasperReport report=jaspecompilemanager.compileReport(文件路径);
JasperPrint JasperPrint=JasperFillManager.fillReport(报表、参数、报表数据源);
JRPdfExporter=newjrpdfexporter();
exporter.setExporterInput(新的SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(新的SimpleOutputStreamExportRoutPut(Files.newOutputStream(w.file,StandardOpenOption.CREATE));
出口商。出口报告();
}
public void exportXLSX(工作表示例w)引发异常
{
JRDataSource reportDataSource=新的JREPTYDATASURCE(1);
JasperReport report=jaspecompilemanager.compileReport(文件路径);
JasperPrint JasperPrint=JasperFillManager.fillReport(报表、参数、报表数据源);
JRXlsxExporter=新的JRXlsxExporter();
exporter.setExporterInput(新的SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(新的SimpleOutputStreamExportRoutPut(Files.newOutputStream(w.file,StandardOpenOption.CREATE));
出口商。出口报告();
}
}
结果将类似于:在左侧,您可以看到XLSX输出。右边是PDF版本 当然,还有大量的优化空间。
例如,您可以保存已编译的JRXML并加载它,这比每次需要时编译它要快得多
运行它 如果您需要一个简单的类来运行这两个示例,请使用以下一个:
package q46617008;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class WorksheetExample
{
public static final Set< String > alphabets = new HashSet<>( );
public static final Map< String, String > books = new HashMap<>( );
public final Path file;
public WorksheetExample( String fileName ) {
file = Paths.get( "C:", "Path", "To", "Your", fileName );
}
static
{
alphabets.add( "A" );
alphabets.add( "B" );
alphabets.add( "C" );
alphabets.add( "D" );
books.put( "Cookbook", "Vishnu" );
books.put( "JavaBook", "Balaguru" );
books.put( "MacBook", "Steve" );
}
public static void main( String[ ] args ) throws Exception
{
WorksheetExample w;
w = new WorksheetExample( "ApacheExample.xlsx" );
new ApacheExample( ).build( w );
w = new WorksheetExample( "JasperExample.xlsx" );
new JasperExample( ).exportXLSX( w );
w = new WorksheetExample( "JasperExample.pdf" );
new JasperExample( ).exportPDF( w );
}
}
包装q46617008;
导入java.nio.file.Path;
导入java.nio.file.path;
导入java.util.Date;
导入java.util.HashMap;
导入java.util.HashSet;
导入java.util.Map;
导入java.util.Set;
公共类工作表示例
{
公共静态final Setalphabets=newhashset();
公共静态最终映射books=newhashmap();
公共最终路径文件;
公共工作表示例(字符串文件名){
file=Path.get(“C:”,“Path”,“To”,“Your”,fileName);
}
静止的
{
字母表。添加(“A”);
字母表。添加(“B”);
字母表。添加(“C”);
字母表。添加(“D”);
书。放(“烹饪书”、“毗湿奴”);
books.put(“JavaBook”、“Balaguru”);
books.put(“MacBook”、“Steve”);
}
公共静态void main(字符串[]args)引发异常
{
工作表样本w;
w=新工作表样本(“ApacheExample.xlsx”);
新的ApacheExample().build(w);
w=新工作表样本(“JasperExample.xlsx”);
新JasperExample().exportXLSX(w);
w=新工作表样本(“JasperExample.pdf”);
新JasperExample().exportPDF(w);
}
}
您可以使用ApachePOI或Jasper报告来完成
阿帕奇POI
对于本例,将其另存为Worksheet.jrxml
package q46617008;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;
public class JasperExample
{
private Map< String, Object > parameters;
private String filePath = "C:\\Path\\To\\Your\\Worksheet.jrxml";
public JasperExample( ) {
parameters = new HashMap<>( );
// Define your locale or set it as a parameter
parameters.put( JRParameter.REPORT_LOCALE, new Locale( "pt", "BR" ) );
parameters.put( "Alphabets", WorksheetExample.alphabets );
parameters.put( "Books", WorksheetExample.books );
}
public void exportPDF( WorksheetExample w ) throws Exception
{
JRDataSource reportDataSource = new JREmptyDataSource( 1 );
JasperReport report = JasperCompileManager.compileReport( filePath );
JasperPrint jasperPrint = JasperFillManager.fillReport( report, parameters, reportDataSource );
JRPdfExporter exporter = new JRPdfExporter( );
exporter.setExporterInput( new SimpleExporterInput( jasperPrint ) );
exporter.setExporterOutput( new SimpleOutputStreamExporterOutput( Files.newOutputStream( w.file, StandardOpenOption.CREATE ) ) );
exporter.exportReport( );
}
public void exportXLSX( WorksheetExample w ) throws Exception
{
JRDataSource reportDataSource = new JREmptyDataSource( 1 );
JasperReport report = JasperCompileManager.compileReport( filePath );
JasperPrint jasperPrint = JasperFillManager.fillReport( report, parameters, reportDataSource );
JRXlsxExporter exporter = new JRXlsxExporter( );
exporter.setExporterInput( new SimpleExporterInput( jasperPrint ) );
exporter.setExporterOutput( new SimpleOutputStreamExporterOutput( Files.newOutputStream( w.file, StandardOpenOption.CREATE ) ) );
exporter.exportReport( );
}
}
package q46617008;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class WorksheetExample
{
public static final Set< String > alphabets = new HashSet<>( );
public static final Map< String, String > books = new HashMap<>( );
public final Path file;
public WorksheetExample( String fileName ) {
file = Paths.get( "C:", "Path", "To", "Your", fileName );
}
static
{
alphabets.add( "A" );
alphabets.add( "B" );
alphabets.add( "C" );
alphabets.add( "D" );
books.put( "Cookbook", "Vishnu" );
books.put( "JavaBook", "Balaguru" );
books.put( "MacBook", "Steve" );
}
public static void main( String[ ] args ) throws Exception
{
WorksheetExample w;
w = new WorksheetExample( "ApacheExample.xlsx" );
new ApacheExample( ).build( w );
w = new WorksheetExample( "JasperExample.xlsx" );
new JasperExample( ).exportXLSX( w );
w = new WorksheetExample( "JasperExample.pdf" );
new JasperExample( ).exportPDF( w );
}
}