Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.67 KB | None | 0 0
  1.         public Form2()
  2.         {
  3.             InitializeComponent();
  4.  
  5.             XSSFWorkbook workbook = new XSSFWorkbook();
  6.  
  7.             MemoryStream msPic = new MemoryStream();
  8.  
  9.             //將圖表資料丟入 MemoryStream
  10.             this.chart1.SaveImage(msPic, System.Windows.Forms.DataVisualization.Charting.ChartImageFormat.Png);
  11.  
  12.             //將圖片丟入workbook 並且取得他專屬的 Index
  13.             //MemoryStream.ToArray() ==> 就是 byte[] 陣列
  14.             //圖片就是由一組 byte[] 陣列所組成的
  15.             int picterIdx = workbook.AddPicture(msPic.ToArray(), NPOI.SS.UserModel.PictureType.PNG);
  16.  
  17.             XSSFSheet mySheet1 = (XSSFSheet)workbook.CreateSheet("成本表");
  18.  
  19.             //取得 Sheet 用來製造圖片的物件
  20.             XSSFDrawing patriarch=(XSSFDrawing)mySheet1.CreateDrawingPatriarch();
  21.  
  22.             //範圍是 (1,2) 到 (15,16)
  23.             XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, 1,2, 15, 16);
  24.  
  25.             //設定圖片是 workbook 裡的哪張,和範圍設定
  26.             XSSFPicture pict = (XSSFPicture)patriarch.CreatePicture(anchor, picterIdx);
  27.  
  28.             //將圖形大小設定為原來大小
  29.             pict.Resize();
  30.  
  31.             string pathFile = "";
  32.  
  33.             if (this.folderBrowserDialog1.ShowDialog()==DialogResult.OK)
  34.             {
  35.                  pathFile = this.folderBrowserDialog1.SelectedPath+"\\test.xlsx";
  36.             }
  37.  
  38.             using (var fs = new FileStream(pathFile, FileMode.Create, FileAccess.Write))
  39.             {
  40.                 //將活頁簿寫進去指定的檔案位置
  41.                 workbook.Write(fs);
  42.             }
  43.  
  44.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement