Written by Siwasit Jitpanu 29/6/2021
บทความนี้เราจะแนะนำวิธี export ข้อมูลเป็นไฟล์ Excel 2 กรณี คือกรณีไฟล์ Excel ที่มีข้อมูลเพียง Sheet เดียว และไฟล์ Excel ที่มีข้อมูลหลาย Sheets เพื่อนำไฟล์ Excel ไปใช้งานต่อไป วิธีทำไม่ยุ่งยาก เพียงไม่กี่ขั้นตอน ถ้าพร้อมแล้ว ลองทำตาม กันเลย
Package ที่ใช้คือ openxlsx สามารถไปดูวิธีติดตั้ง และเรียกใช้ได้ใน บทความ Read(Import) Excel Data คลิกที่นี่ ได้เลย
การเริ่มต้นใช้คำสั่งหากเรายังไม่รู้จักสามารถใช้คำสั่งเพื่อดูรายละเอียด และคำอธิบายวิธีการใช้คำสั่งนั้นๆ ได้ดังนี้
พิมพ์คำสั่ง
?write.xlsx
และกด ctrl+enter หรือ คลิกที่ run
จะมีรายละเอียด และคำอธิบายวิธีใช้คำสั่งในหน้าต่าง Help
(Tip : กด ctrl+# (ctrl+shift+3) เพื่อขยายหน้าจอ Help)
คำสั่ง write.xlsx(data,filename)
data คือ ข้อมูลในโปรแกรม R ที่เราต้องการเขียนเป็นไฟล์ Excel
filename คือ ชื่อไฟล์ Excel (ต้องระบุรูปแบบไฟล์ .xlsx ตามหลังชื่อไฟล์ด้วย)
เมื่อเรามีข้อมูลแล้วต้องการ export เป็น Excel จะใช้คำสั่ง
write.xlsx(RawData,"OE_R.xlsx")
และกด ctrl+enter หรือ คลิกที่ run
เราจะได้ไฟล์ Excel OE_R.xlsx เพื่อนำไปดำเนินการต่อไป
(Tip : ไฟล์หายไปไหน ไฟล์ที่เรา Export จะอยู่ใน Directory ที่เซฟ RScript ไว้ หากหาไม่เจอให้ใช้คำสั่ง getwd() ไฟล์จะอยู่ที่ Directory นั้น)
เมื่อเราต้องการ export ไฟล์ Excel แบบระบุ Directory ว่าจะเซฟไว้ให้เราจะใช้คำสั่งเดิมโดย
filename : ต้องเป็น Directory ของไฟล์ Excel แล้วใช้ /(Forward slash) หรือ \\(Double Backslashes) แทน \(Backslash)
เช่นต้องการ Export ไฟล์ Excel ให้อยู่ใน "D:\R\OE_R.xlsx"
เราจะใช้คำสั่ง
write.xlsx(RawData,"D:/R/OE_R.xlsx")
หรือ
write.xlsx(RawData,"D:\\R\\OE_R.xlsx")
และกด ctrl+enter หรือ คลิกที่ run
การใช้งานคำสั่ง saveWorkbook ขั้นตอน 3 ขั้นตอนเพื่อเตรียม Workbook สำหรับ export เป็นไฟล์ Excel ดังนี้
1. สร้าง Workbook เก็บไว้ในตัวแปล(ตัวอย่างใช้ตัวแปล wb ) โดยใช้คำสั่ง
wb <- createWorkbook()
และกด ctrl+enter หรือ คลิกที่ run
2. เพิ่ม Sheets เปล่าตามจำนวนที่ต้องการ โดยใช้คำสั่ง
addWorksheet(wb,sheetname)
wb คือ Workbook ที่สร้างไว้ก่อนแล้ว
sheetname คือ ชื่อ Sheet ที่จะสร้างใน Workbook
เช่น จะสร้าง 2 Sheets ชื่อ RawData และ Data จะใช้คำสั่ง
addWorksheet(wb,"RawData")
addWorksheet(wb,"Data")
และกด ctrl+enter หรือ คลิกที่ run ทั้ง 2 บรรทัด
3. เขียนข้อมูลลงใน Sheets โดยใช้คำสั่ง
writeData(wb,sheet,data)
wb คือ Workbook ที่สร้างไว้ก่อนแล้ว
sheet คือ ชื่อ Sheet ที่ต้องการใส่ข้อมูลเข้าไป
data คือ ข้อมูลที่ต้องการ export ไปที่ Sheet
เช่น ต้องการเขียนข้อมูล RawData, Data ลงใน Sheets RawData, Data จะใช้คำสั่ง
writeData(wb,"RawData",RawData)
writeData(wb,"Data",Data)
และกด ctrl+enter หรือ คลิกที่ run ทั้ง 2 บรรทัด
หลังจากเตรียม Workbook เรียบร้อยแล้วเราจะทำการ export เป็นไฟล์ Excel โดยใช้คำสั่ง
saveWorkbook(wb,"OE_R.xlsx")
และกด ctrl+enter หรือ คลิกที่ run
เราจะได้ไฟล์ Excel OE_R.xlsx เพื่อนำไปดำเนินการต่อไป
(Tip : ไฟล์หายไปไหน ไฟล์ที่เรา Export จะอยู่ใน Directory ที่เซฟ RScript ไว้ หากหาไม่เจอให้ใช้คำสั่ง getwd() ไฟล์จะอยู่ที่ Directory นั้น)
เมื่อเราต้องการ export ไฟล์ Excel แบบระบุ Directory ว่าจะเซฟไว้ให้เราจะใช้คำสั่งเดิมโดย
filename : ต้องเป็น Directory ของไฟล์ Excel แล้วใช้ /(Forward slash) หรือ \\(Double Backslashes) แทน \(Backslash)
เช่นต้องการ Export ไฟล์ Excel ให้อยู่ใน "D:\R\OE_R.xlsx"
เราจะใช้คำสั่ง
saveWorkbook(wb,"D:/R/OE_R.xlsx")
หรือ
saveWorkbook(wb,"D:\\R\\OE_R.xlsx")
และกด ctrl+enter หรือ คลิกที่ run
เมื่อเราเตรียม Workbook เรียบร้อยก่อนจะ export เราสามารถจัดการ Workbook ได้หลายอย่าง โดยบทความนี้จะแนะนำคำสั่งที่ใช้บ่อย ดังนี้
ตั้งค่าความกว้างของ Column ใช้คำสั่ง
setColWidths(wb,sheetname,cols,widths)
เช่น
setColWidths(wb,"RawData",cols=1:5,widths=c(10,10,20,14,20))
และกด ctrl+enter หรือ คลิกที่ run
ล็อคมุมมอง Row แรก(FreezePane) ใช้คำสั่ง
freezePane(wb,sheetname,firstRow = TRUE)
เช่น
freezePane(wb,"RawData",firstRow = TRUE)
และกด ctrl+enter หรือ คลิกที่ run
ซ่อน Sheet ใช้คำสั่ง
sheetVisibility(wb)[2] <- "hidden", "visible", "veryHidden"
เช่น
sheetVisibility(wb)[2] <- "hidden"