จำนวนเต็มเก็บใน Excel อย่างไร


2

ฉันเขียนสคริปต์ไพ ธ อนที่ใช้แพคเกจ CSV และ xlrd เพื่อแปลงไฟล์. xlsx binary excel เป็นไฟล์. txt คั่นด้วยแท็บ น่าเสียดายที่ทุกเซลล์ถูกแปลงเป็นสตริง (ซึ่งเข้าใจได้) และจำนวนเต็มทุกค่าจะถูกแปลงเป็นทศนิยมที่แสดงเป็นสตริง ตัวอย่างเช่น:

เซลล์ใน excel มีจำนวนเต็ม 5

สิ่งนี้จะถูกส่งออกจากสคริปต์ของฉันเป็น "5.0"

กำหนดกระบวนการดาวน์สตรีมจำเป็นต้องรักษาความสอดคล้องของชนิดระหว่างไฟล์ excel ต้นฉบับและไฟล์. txt ที่แปลงแล้ว มันค่อนข้างท้าทายในการถอดรหัสชนิดข้อมูลหลังจากการแปลงเพราะเป็นไปไม่ได้ที่จะบอกสภาพอากาศว่าหมายเลขนั้นเดิมเป็นจำนวนเต็มหรือลอยโดยไม่ต้องดูไฟล์ต้นฉบับ

คำถามสุดท้ายของฉันคือต่อไปนี้:

  1. excel บันทึกค่าตัวเลขทั้งหมดเป็นแบบลอยอัตโนมัติหรือไม่

  2. ถ้าเป็นเช่นนั้นมีวิธีในการปรับการตั้งค่าเพื่ออนุญาตสำหรับจำนวนเต็มหรือไม่?

ขอบคุณ.


คุณต้องดูว่าเซลล์มีการจัดรูปแบบอย่างไรภายใน Excel สคริปต์ของคุณไม่น่าจะทำได้ มีไลบรารี COM เพื่อทำสิ่งประเภทนี้
Ramhound

คำตอบ:


1

Excel ใช้ชนิดข้อมูลเพียงไม่กี่ชนิดในแผ่นงาน ผม อ้างอิง :

ประเภทจะมาถึงในฟังก์ชันของคุณโดยเป็นหนึ่งในประเภทต่อไปนี้: xltypeNum , xltypeStr , xltypeBool , xltypeErr , xltypeMulti , xltypeMissing , หรือ xltypeNil

ดังนั้นคุณจะเห็นได้ว่าการคาดหวังจำนวนเต็มไม่ตรงกับแนวคิด xltypeNum ครอบคลุมตัวเลขทั้งหมด (รวมถึงรายการเทียบเท่าเช่นค่าวันที่ / เวลา) และเป็น VBA สอง .

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