ฉันมีฐานข้อมูลที่ติดตามยอดขายของเครื่องมือตามหมายเลขซีเรียล ผู้ใช้ป้อนข้อมูลและปริมาณของผู้ซื้อและสแกนแต่ละวิดเจ็ตลงในโปรแกรมไคลเอนต์ที่กำหนดเอง จากนั้นพวกเขาก็จบคำสั่ง ทั้งหมดนี้ทำงานได้อย่างไร้ที่ติ
ลูกค้าบางคนต้องการสเปรดชีตที่เข้ากันได้กับ Excel ของวิดเจ็ตที่ซื้อมา เราสร้างสิ่งนี้ด้วยสคริปต์ PHP ซึ่งทำการสืบค้นฐานข้อมูลและแสดงผลลัพธ์เป็น CSV พร้อมชื่อร้านค้าและข้อมูลที่เกี่ยวข้อง มันใช้งานได้ดีอย่างสมบูรณ์เช่นกัน
เมื่อเปิดในตัวแก้ไขข้อความเช่น Notepad หรือ vi ไฟล์จะมีลักษณะดังนี้:
"Account Number","Store Name","S1","S2","S3","Widget Type","Date"
"4173","SpeedyCorp","268435459705526269","","268435459705526269","848 Model Widget","2011-01-17"
อย่างที่คุณเห็นหมายเลขซีเรียลนั้นมีอยู่ (ในกรณีนี้สองครั้งไม่ใช่ serials รองทั้งหมดเหมือนกัน) และเป็นสตริงที่มีความยาว เมื่อเปิดไฟล์นี้ใน Excel ผลลัพธ์จะกลายเป็น:
Account Number Store Name S1 S2 S3 Widget Type Date
4173 SpeedyCorp 2.68435E+17 2.68435E+17 848 Model Widget 2011-01-17
ดังที่คุณอาจสังเกตเห็นหมายเลขซีเรียลถูกล้อมรอบด้วยเครื่องหมายคำพูดคู่ Excel ดูเหมือนจะไม่เคารพตัวระบุข้อความในไฟล์. csv เมื่อนำเข้าไฟล์เหล่านี้ไปยัง Access เราไม่มีปัญหาใด ๆ เมื่อเปิดพวกเขาเป็นข้อความก็ไม่มีปัญหาอะไรเลย แต่ Excel โดยไม่ล้มเหลวแปลงไฟล์เหล่านี้เป็นขยะที่ไร้ประโยชน์ พยายามที่จะแนะนำผู้ใช้ในการเปิดไฟล์ CSV ด้วยแอพพลิเคชั่นที่ไม่ใช่ค่าเริ่มต้น มีความหวังไหม? มีการตั้งค่าที่ฉันไม่สามารถหาได้หรือไม่? นี่น่าจะเป็นกรณีของ Excel 2003, 2007 และ 2010
Excel does not seem to respect text qualifiers in .csv files
- ราคาสองจะไม่ได้ข้อความบ่นพวกเขาก็ช่วยให้จุลภาคในข้อมูลของคุณถ้าคุณไม่ได้ใช้เครื่องหมายจุลภาคในข้อมูลของคุณแล้วพวกเขาจะไม่มีความหมาย ข้อมูลทั้งหมดในไฟล์ CSV ถูกยกเลิกการพิมพ์ดังนั้น Excel สามารถเดาได้ว่าหมายเลขซีเรียลขนาดใหญ่ของคุณเป็นตัวเลขเท่านั้นและนั่นคือเมื่อคุณใช้เพื่อความแม่นยำสูงสุดของ Excel ที่15 หลักซึ่งเป็นสิ่งที่ตัดทอนตัวเลขของคุณ