#java #python #pandas #xlsx
Вопрос:
Я пытаюсь создать файлы xlsx с несколькими листами.
Несколько похоже на то, как я могу добиться этого в python с помощью библиотеки pandas.
Ниже приведен пример того, что я хочу воспроизвести на java.
def print_to_excel(simulationRunNumber, detail_report):
# Create the worksheets
df1 = pd.DataFrame({'No. of Gateways': [p.Gn], 'Total No. of Devices': [
p.Gn * p.Dn], 'Total No. of Blocks': [Statistics.total_blocks], 'Blocks per Chain': [Statistics.total_blocks/p.Gn], 'Max TX List Size': [p.maxTxListSize], 'Total Transcations': [p.Gn*p.Dn*p.Tn], 'Average Transaction Latency': [Statistics.average_transaction_latency], 'Transaction Throughput': [
Statistics.transaction_throughput], 'Simulation Duration (secs)': [Statistics.simulation_duration]})
df2 = pd.DataFrame({'No. of Gateways': [p.Gn], 'No. of Devices per Gateway': [
p.Dn], 'Total No. of Devices': [p.Gn*p.Dn], 'Total No. of Nodes': [p.Nn], 'Transactions per Device': [p.Tn]})
if detail_report:
df3 = pd.DataFrame(Statistics.chains)
df3.columns = ['Gateway Node ID', 'Block Depth', 'Block ID',
'Previous Block ID', 'Block Timestamp', 'No. of Transactions']
df4 = pd.DataFrame(Statistics.transactions)
df4.columns = ['Gateway Node ID', 'Tx ID', 'Sender Node ID',
'Receiver Node ID', 'Tx Creation Time', 'Tx Reception Time', 'Tx Insertion Time']
df5 = pd.DataFrame(Statistics.transaction_latencies)
df5.columns = ['TxID', 'Latency']
# Setup the filename
fname = "Statistics-{0}-{1}.xlsx".format(
datetime.now().strftime("%d.%m.%Y-%H.%M.%S"), (simulationRunNumber 1))
# Save worksheets into the workbook
writer = pd.ExcelWriter(fname, engine='xlsxwriter')
df1.to_excel(writer, sheet_name='Results')
df2.to_excel(writer, sheet_name='InputConfig')
if detail_report:
df3.to_excel(writer, sheet_name='GatewayBlockchains')
df4.to_excel(writer, sheet_name='GatewayTransactions')
df5.to_excel(writer, sheet_name='transaction_latencies')
writer.save()
Ответ №1:
Это первый результат поиска «java write xlsx» в Google:
https://www.codejava.net/coding/how-to-write-excel-files-in-java-using-apache-poi