2013-03-29 46 views
5

Tôi đang viết một chương trình .NET tạo một tài liệu XML được mở trong Excel. Hình dạng của ô thường trông giống như:Tôi làm cách nào để thể hiện giá trị NaN trong Excel?

<ss:Cell> 
     <ss:Data ss:Type="Number">123</ss:Data> 
    </ss:Cell> 

Nhưng đôi khi giá trị tôi viết có NaN, DIV/0 hoặc INF. Trong những trường hợp này 123 sẽ được thay thế bằng giá trị văn bản đó và Excel sẽ không mở tệp vì văn bản.

Tôi không nghĩ Excel có hằng số, vì vậy tôi không chắc chắn về cách xử lý siutation này, thay vì đặt giá trị "-1" vào thay thế. Bất kỳ đề xuất?

+0

Không bao giờ làm việc với điều này trước đây nhưng chỉ là một shot trong bóng tối ... Điều gì sẽ xảy ra nếu bạn đính kèm ở trên trong một điều kiện IF? –

+1

Thử đặt giá trị trong Excel, lưu kết quả vào định dạng XML và xác nhận giá trị là gì. – code4life

Trả lời

5

Sau đây là các lỗi mã khác nhau mà Excel biết về, lưu trữ trong định dạng XML:

<Cell><Data ss:Type="Error">#DIV/0!</Data></Cell> 
<Cell><Data ss:Type="Error">#NUM!</Data></Cell> 
<Cell><Data ss:Type="Error">#VALUE!</Data></Cell> 
<Cell><Data ss:Type="Error">#N/A</Data></Cell> 
<Cell><Data ss:Type="Error">#NAME?</Data></Cell> 
<Cell><Data ss:Type="Error">#REF!</Data></Cell> 
<Cell><Data ss:Type="Error">#NULL!</Data></Cell> 

Chỉ có hai đầu tiên có liên quan cho câu hỏi của bạn, nhưng tôi đã thêm những người khác vì lợi ích của sự hoàn chỉnh.

Nhưng occasionly giá trị Tôi đang viết có một trong hai NaN, DIV/0, hoặc INF

DIV/0 bản đồ để #DIV/0!. Tôi không nghĩ rằng có một sự khác biệt giữa NaN hoặc INF trong Excel, cả hai dường như được thể hiện dưới dạng #NUM!. Ví dụ: cả hai công thức sau đây dẫn đến #NUM!, mặc dù công thức đầu tiên là số không hợp lệ trong khi số thứ hai chỉ là rất lớn.

=ASIN(2) 
=EXP(EXP(10)) 

Thú vị, khó khăn hầu như không hữu ích: Excel cho phép bạn nhập các giá trị lỗi kiểu chữ này (bao gồm cả dấu chấm câu) vào ô trên trang tính mà không gặp sự cố. Theo một nghĩa nào đó, các số này là hằng số tích hợp.

Các vấn đề liên quan