ทำแผนภูมิจากรูปแบบข้อมูลที่กำหนดเองใน Excel 2010


0

ฉันกำหนดรูปแบบข้อมูลที่กำหนดเองผ่าน Apache POI ฉันรู้ว่าฉันต้องใช้สิ่งต่อไปนี้:

DataFormat data = this.workbook.createDataFormat();
cellStyle.setDataFormat(data.getFormat("YY:DDD:HH:MM:SS"));

ผมพบว่ามีการอ้างอิงในเอกสาร Apache POI เกี่ยวกับรูปแบบ

ข้อมูลที่ฉันต้องการจัดรูปแบบหมายถึงวันที่และเวลาเช่น:

00:000:00:15:00 
YY:DDD:HH:MM:SS

จนถึงตอนนี้มันใช้งานได้ดี คลิกขวาที่เซลล์ Excel, การตรวจสอบรูปแบบมือถือ -> กำหนดเองyy: ddd: HH: mm: ss อย่างไรก็ตามฉันไม่สามารถสร้างแผนภูมิจากรูปแบบเวลาที่กำหนดเองนี้ได้ การเลือกข้อมูลนี้:

task   | time
-------|----------------
task 1 | 00:000:00:15:00
task 2 | 00:000:00:20:00
task 3 | 00:000:00:10:00

และเลือกตัวเลือกแทรกกราฟแท่งเอาท์พุทซึ่งพูดพล่อยๆ มีวิธีทำให้แผนภูมิทำงานหรือไม่โดยไม่สร้างข้อมูลเพิ่มเติม (เช่นการนับจำนวนวินาทีทั้งหมดและแสดงค่าวินาที)


สิ่งนี้ดูไม่ถูกต้อง - รูปแบบการตัดใน Excel ที่มี YY: DDD ควรแก้ไขเป็นบางอย่างเช่น12:Frวันนี้เพราะ excel จะตีความสิ่งนี้เป็นปีและวัน คุณพยายามเขียนบางสิ่งบางอย่างในเซลล์ด้วยรูปแบบนั้นหรือไม่?
Jook

คำตอบ:


1

Excel ข้อตกลงกับวันที่และเวลาเป็นหมายเลขที่จำนวนวันนับตั้งแต่ ม.ค. 0 1900 และทศนิยมเป็นส่วนที่เป็นเศษส่วนของวันที่ 24 ชั่วโมง (สำหรับข้อมูลเพิ่มเติมโปรดดูที่CPearson ของ Excel วันที่ / เวลา . 10/12/2012 10:20:07 = 41194.4306392361ดังนั้นในเพื่อช่วยให้เราโต้ตอบกับ Excel ระบบจะจดจำวันที่ / เวลาในรูปแบบมาตรฐานบางรูปแบบ (เช่น MM แบบดั้งเดิมของสหรัฐอเมริกา / DD / YYYY HH: MM: SS) ปัญหาที่คุณดูเหมือนจะใช้คือรูปแบบวันที่ของคุณ (YY: DDD: HH: MM: SS) Excel ไม่รู้จักเป็นวันที่ / เวลาคุณมีสองวิธีแก้ไข:

  1. ส่งออกวันที่ของคุณจาก Apache ในรูปแบบ "เป็นมิตรกับ Excel" หรือ
  2. แปลงรูปแบบที่กำหนดเองของคุณให้เป็นรูปแบบ "เป็นมิตรกับ Excel" ใน Excel โดยใช้สูตร

หากคุณใช้ # 2 และ DDD ในรูปแบบวันที่กำหนดเองของคุณคือแท้จริงวันของปี (เช่น 10/12/2012 เป็นวันที่ 286 ของปี) คุณอาจต้องใช้ VBA เพื่อจัดการการแปลงเป็นวันที่เหมาะสม / เดือนรวมกัน


ผมไม่แน่ใจว่าเกี่ยวกับแหล่งที่มาสำหรับ "การแก้ไข" ของคุณ แต่ตาม MS ก็ไม่เริ่มต้นมกราคม 1900 โปรดดูsupport.microsoft.com/kb/214094
dav

คุณพูดถูก ทรัพยากรของ Microsoft นั้นมีข้อมูลที่ดีอยู่บ้างดังนั้นจึงเป็นความคิดที่ดีที่จะแก้ไขในคำตอบของคุณ
Doktoro Reichard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.