2009-12-01 40 views
11

Tôi có ứng dụng C# nơi tôi đang tạo nhiều tệp Excel từ dữ liệu trong cơ sở dữ liệu. Phần này hoạt động tốt. Tuy nhiên, người dùng của tôi đã hỏi liệu tab trang tính có thể được sửa đổi để phản ánh một trường từ cơ sở dữ liệu hay không. Điều này nghe có vẻ đơn giản, tuy nhiên, khi tôi cố gắng để thiết lập lại tên, nó nói với tôi rằng nó là chỉ đọc và không thể được thiết lập. Tôi đã thử những điều sau đây và nó đã không làm việc:Làm cách nào để thay đổi tên trang tính từ C# trên bảng tính Excel

xlApp.Sheets[0].Range["A1"].Value = "NewTabName"; 

cũng đã cố gắng:

xlApp.Name = "NewTabName"; 

Tôi đã làm một google tìm kiếm và thấy một số phương pháp khác mà không làm việc cho tôi là tốt. Và một vài câu trả lời chỉ ra rằng nó là chỉ đọc và không thể được thực hiện.

Điều này có vẻ giống như một thứ đơn giản. Tôi làm nó như thế nào.

Trả lời

22

Bạn cần truy cập vào trang tính thực tế. Hãy thử một cái gì đó như:

Microsoft.Office.Interop.Excel.Worksheet worksheet = (Worksheet)xlApp.Worksheets["Sheet1"]; 
    worksheet.Name = “NewTabName”; 
+0

Điều này hiệu quả. Cảm ơn nhiều. –

+1

Làm việc như một say mê, cảm ơn bạn! ... khoan đã ... sự quyến rũ có thực sự hiệu quả không? ... – Lukas

+0

Điều này là sai anwser! Sheet1 sẽ không tồn tại nếu khách hàng có verrent ngôn ngữ khác nhau! Ví dụ Trong Ba Lan chuỗi này sẽ là "Arkusz1" thay vì Sheet1 –

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