- GitHub – crealytics/spark-excel: A Spark plugin for reading and writing Excel files
- Error writing excel file from Pyspark – Microsoft Q&A
- Feed Detail (databricks.com)
- Reading excel file in Azure Databricks · Issue #467 · crealytics/spark-excel · GitHub
ที่ Cluster ติดตั้ง com.crealytics:spark-excel-2.12.17-3.0.1_2.12:3.0.1_0.18.1

สร้าง pyspark dataframe
%python data = [('A', "1"), ('B', "2"), ('C', "3"), ('D', "4") ] print(type(data)) # <class 'list'> df = spark.createDataFrame(data) print(type(df)) # <class 'pyspark.sql.dataframe.DataFrame'> display(df)

เขียนไฟล์ excel
%python path = '/mnt/xxx/tmp/' filename = f'{path}output1.xlsx' print(f'filename = {filename}') df.write.format("com.crealytics.spark.excel")\ .option("header", "true")\ .mode("overwrite")\ .save(filename)
ลอง %fs ls ‘/mnt/xxx/tmp/
‘ จะเห็นไฟล์ dbfs:/mnt/xxx/tmp/output1.xlsx
ละ

สร้าง dataframe อีกอัน
%python columns = ['Identifier', 'Value', 'Extra Discount'] vals = [(1, 150, 0), (2, 160, 12)] df2 = spark.createDataFrame(vals, columns) df2.show() # +----------+-----+--------------+ # |Identifier|Value|Extra Discount| # +----------+-----+--------------+ # | 1| 150| 0| # | 2| 160| 12| # +----------+-----+--------------+
เขียนแบบ append โดยข้อมูลเริ่มต้นที่ cell B3 ถึง C35 คอลัมน์ Extra Discount
เลยหายไป
%python df2.write.format("com.crealytics.spark.excel") \ .option("dataAddress", "'My Sheet'!B3:C35") \ .option("header", "true") \ .mode("append") \ .save(filename)
