博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
silverlight 将chart图倒入到excel
阅读量:7167 次
发布时间:2019-06-29

本文共 4005 字,大约阅读时间需要 13 分钟。

mainpage.xaml

1  
2
3
4
5
6
7
View Code

后台

1  public MainPage() 2         { 3             InitializeComponent(); 4             this.Loaded += new RoutedEventHandler(UserControl_Loaded); ; 5         } 6         private void UserControl_Loaded(object sender, RoutedEventArgs e) 7         { 8             ObservableCollection
empPoints = new ObservableCollection
() 9 { 10 new EmployeePoints() { Name = "John", Points = 10 }, 11 new EmployeePoints() { Name = "Sam", Points = 40 },12 new EmployeePoints() { Name = "Mary", Points = 80 }, 13 new EmployeePoints() { Name = "Pierce", Points = 60 }, 14 new EmployeePoints() { Name = "Paul", Points = 70 }, 15 };16 LineSeries columnSeries = new LineSeries();//实例化一个Series:17 18 //注意ColumnSeries所在命名空间 19 20 //为:using System.Windows.Controls.DataVisualization.Charting;21 22 23 columnSeries.ItemsSource = empPoints; //设置数据源24 columnSeries.DependentValueBinding = new Binding("Points"); //后台进行数据绑定 25 columnSeries.IndependentValueBinding = new Binding("Name");26 //columnSeries.Title = "";27 28 chart1.Series.Add(columnSeries);//为Chart绑定“显示类型”29 30 31 32 }33 34 private void button1_Click(object sender, RoutedEventArgs e)35 {36 WriteableBitmap bitmap = new WriteableBitmap(640, 300);37 bitmap.Render(chart1, null);38 bitmap.Invalidate();39 40 41 // open file dailog for selecting export file42 SaveFileDialog sDialog = new SaveFileDialog();43 sDialog.Filter = "Excel Files(*.xls)|*.xls";44 45 if (sDialog.ShowDialog() == true)46 {47 // create a workbook object48 Workbook workbook = new Workbook();49 //Create a worksheet object 50 Worksheet worksheet1 = new Worksheet("SheetWithImage");51 52 // creat a spreadsheet picture object53 Lite.ExcelLibrary.SpreadSheet.Picture pic = new Lite.ExcelLibrary.SpreadSheet.Picture();54 //set its image property from silverlight image control55 // image formates 0xF01E=png,0xF01D=jpeg56 //ImageTranslator.TranslateImageToBytes translate an image control to byte array57 // that will be used by excel picture object to plot picture in excel file.58 System.Windows.Controls.Image image = new System.Windows.Controls.Image();59 image.Source = bitmap;60 image.Name = "imgExport";61 image.Width = 640;62 image.Height = 300;63 image.Stretch = Stretch.Fill;64 pic.Image = new Lite.ExcelLibrary.SpreadSheet.Image(ImageTranslator.TranslateImageToBytes(image), 0xF01E);65 66 //set picture size67 pic.TopLeftCorner = new CellAnchor(1, 1, 10, 10);68 pic.BottomRightCorner = new CellAnchor(8, 5, 10, 10);69 // add picture to spreadsheet70 worksheet1.AddPicture(pic);71 /// add worksheet to workbook72 workbook.Worksheets.Add(worksheet1);73 // get the stream of selected file74 Stream sFile = sDialog.OpenFile();75 // save excel file 76 workbook.Save(sFile);77 }78 }79 80 81 public class EmployeePoints82 {83 public string Name { get; set; }84 public int Points { get; set; }85 }86 }
View Code

用到了工具       Lite Excel Binaries

下载地址:

The source from

   

转载于:https://www.cnblogs.com/akingyao/archive/2013/05/14/3077261.html

你可能感兴趣的文章