Tôi có phần bổ trợ VSTO và tôi đang đọc dữ liệu từ trang tính Excel.Có thể lấy int từ Range.Value trong VSTO không?
Dường như hầu như tất cả dữ liệu số được đọc là double
. Có bao giờ có thể nhận được giá trị int
từ Range.Value
không?
Dưới đây là một số mã để minh họa ý tôi.
Worksheet w = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets["Sheet1"];
var value = ((Range)w.Cells[1, 1]).Value;
bool isInt = value is int;
bool isDouble = value is double;
Bất kể định dạng nào tôi sử dụng trong trang tính Bảng1, ô A1, isInt
luôn quay trở lại sai.
Có định dạng nào tôi nên sử dụng để nhận int
không? Tôi nghĩ có lẽ General
hoặc 0
sẽ hoạt động, nhưng có vẻ như không.
Tôi không nghĩ rằng bạn muốn bao giờ có được một int - Excel không bao giờ lưu trữ các số như là một int nội bộ, luôn luôn là một đôi. – Govert
@Govert Được rồi, đó là những gì tôi nghi ngờ nhưng tôi muốn xác nhận. Nếu bạn đăng một câu trả lời (tốt nhất là với một nguồn thông tin về Tidbit của Excel), tôi sẽ chấp nhận nó. –