Tôi đã viết chương trình C# để đọc tệp .xls/.xlsx và đầu ra của Excel thành văn bản CSV và Unicode. Tôi đã viết một chương trình riêng để xóa các bản ghi trống. Điều này được thực hiện bằng cách đọc từng dòng với StreamReader.ReadLine(), và sau đó đi ký tự theo ký tự thông qua chuỗi và không viết dòng để xuất nếu nó chứa tất cả dấu phẩy (cho CSV) hoặc tất cả các tab (cho văn bản Unicode).C# StreamReader.ReadLine() - Cần phải chọn các ký hiệu dòng
Sự cố xảy ra khi tệp Excel chứa các dòng mới được nhúng (\ x0A) bên trong các ô. Tôi thay đổi XLS của tôi để chuyển đổi CSV để tìm những dòng mới (kể từ khi nó đi tế bào của tế bào) và viết chúng như \ x0A, và dòng bình thường chỉ cần sử dụng StreamWriter.WriteLine().
Sự cố xảy ra trong chương trình riêng biệt để xóa bản ghi trống. Khi tôi đọc với StreamReader.ReadLine(), theo định nghĩa nó chỉ trả về chuỗi với dòng, không phải là terminator. Vì các dòng mới được nhúng hiển thị dưới dạng hai dòng riêng biệt, tôi không thể cho biết đó là bản ghi đầy đủ và đó là một dòng mới được nhúng cho khi tôi viết chúng vào tệp cuối cùng.
Tôi thậm chí không chắc mình có thể đọc trong \ x0A vì mọi thứ trên đầu vào đều đăng ký là '\ n'. Tôi có thể đi nhân vật theo nhân vật, nhưng điều này phá hủy logic của tôi để loại bỏ các dòng trống.
Bất kỳ ý tưởng nào cũng sẽ được đánh giá cao.
Cảm ơn một tấn Scott. Điều này trông giống như giải pháp thích hợp. Tôi là một sinh viên tốt nghiệp gần đây của CompSci nên thật tuyệt khi được giúp đỡ như thế này. –