2010-02-03 18 views
5

Tôi đang cố tạo biểu đồ Excel từ C#. Biểu đồ được tạo ra chỉ tìm thấy nhưng nó allways xuất hiện ở trung tâm của màn hình. Làm thế nào tôi có thể thiết lập vị trí của biểu đồ?Làm cách nào để đặt vị trí của biểu đồ Excel từ C#?

Cảm ơn.

Mã của tôi trông như thế này:

Microsoft.Office.Interop.Excel._Workbook ebook = (Microsoft.Office.Interop.Excel._Workbook)etablo.Workbooks.Add(true); 

Microsoft.Office.Interop.Excel._Worksheet esheet = (Microsoft.Office.Interop.Excel._Worksheet)ebook.ActiveSheet; 

_Chart grafik1 = (Chart)ebook.Charts.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

/* Add Data From Cells here */ 
/* Then */ 
grafik1.Location(XlChartLocation.xlLocationAsObject, esheet.Name); 
+0

Bạn có thể đăng ví dụ siêu đơn giản về những gì bạn đang làm bây giờ để tạo biểu đồ không? Một biểu đồ trống sẽ là tốt. Đây sẽ là điểm khởi đầu hữu ích mà tôi nghĩ. –

+0

@Mark Byers Đã cập nhật. Những mã này là từ một ví dụ mà tôi đã tìm thấy ở đâu đó. Tôi không chắc chắn nếu nó là đúng cách để làm điều đó mặc dù – slhsen

Trả lời

9

sau khi bạn tạo ra một biểu đồ, bạn có thể xử lý biểu đồ như một đối tượng hình dạng:

ví dụ:

esheet.Shapes.Item("Chart 1").Top = 100; 
esheet.Shapes.Item("Chart 1").Left = 250; 


// or you can handle shape by index - indexes start from 1 so esheet.Shapes.Item(1).Top 

tôi nghĩ rằng, bạn muốn đặt vị trí phù hợp với các ô có liên quan, ví dụ:

esheet.Shapes.Item("Chart 1").Top = (float)(double)esheet.get_Range("A5","A6").Top; 

như vậy ... tôi hy vọng điều này sẽ giúp :)

Luboss

+0

Điều này đã giúp rất nhiều, cảm ơn! – Novastorm

1

Khi Thêm biểu đồ Bạn có thể sử dụng mã này để xử lý nó left, top, chiều rộng, chiều cao. use this link

var chartObject = charts.Add(260, 30, 300, 300); 
Các vấn đề liên quan