コード例 #1
0
ファイル: RptRender.cs プロジェクト: Daoting/dt
        /// <summary>
        /// 输出图片
        /// </summary>
        /// <param name="p_img"></param>
        /// <param name="p_row"></param>
        /// <param name="p_col"></param>
        void RenderImage(RptTextInst p_img, int p_row, int p_col)
        {
            RptText item = p_img.Item as RptText;

            Kit.RunSync(() =>
            {
                Rect rc = _ws.GetRangeLocation(new CellRange(p_row, p_col, item.RowSpan, item.ColSpan));
                _ws.AddPicture(_ws.Pictures.Count.ToString(), new Uri(item.Val), rc.Left, rc.Top, rc.Width, rc.Height);
            });
        }
コード例 #2
0
ファイル: ImgExcel.xaml.cs プロジェクト: Daoting/dt
        async void AddPictureButton_Click(object sender, RoutedEventArgs e)
        {
            var filePicker = new Windows.Storage.Pickers.FileOpenPicker();

            filePicker.FileTypeFilter.Add(".jpg");
            filePicker.FileTypeFilter.Add(".jpeg");
            filePicker.FileTypeFilter.Add(".png");
            filePicker.FileTypeFilter.Add(".bmp");
            filePicker.FileTypeFilter.Add(".gif");
            StorageFile file = await filePicker.PickSingleFileAsync();

            if (file == null)
            {
                return;
            }

            int       startRow    = 0;
            int       startColumn = 0;
            Worksheet sheet       = _excel.ActiveSheet;
            int       selectCount = sheet.Selections.Count;

            if (selectCount >= 1)
            {
                CellRange cellRange = sheet.Selections[selectCount - 1];
                startRow    = cellRange.Row;
                startColumn = cellRange.Column;
            }
            try
            {
                _excel.SuspendEvent();
                var stream = await file.OpenStreamForReadAsync();

                sheet.AddPicture(CreatePictureName(), stream);
                stream.Dispose();
            }
            finally
            {
                _excel.ResumeEvent();
                _excel.RefreshPictures();
            }
        }
コード例 #3
0
ファイル: ChartPicture.xaml.cs プロジェクト: Daoting/dt
        async void OnAddChart(object sender, RoutedEventArgs e)
        {
            Worksheet sheet = _excel.ActiveSheet;

            if (sheet.Selections.Count == 0)
            {
                return;
            }

            CellRange range = sheet.Selections[0];
            Rect      rc    = sheet.GetRangeLocation(range);

            Chart ct = new Chart();

            ct.Width     = rc.Width;
            ct.Height    = rc.Height;
            ct.ChartType = _chart.ChartType;
            ct.Palette   = _chart.Palette;
            ct.Header    = _chart.Header;
            ChartLegend legend = _chart.Children[0] as ChartLegend;

            if (legend.Visibility == Visibility.Visible)
            {
                ChartLegend lg = new ChartLegend();
                lg.Title        = legend.Title;
                lg.Position     = legend.Position;
                lg.Orientation  = legend.Orientation;
                lg.OverlapChart = legend.OverlapChart;
                ct.Children.Add(lg);
            }
            ct.View.AxisX.Title = _chart.View.AxisX.Title;
            ct.View.AxisY.Title = _chart.View.AxisY.Title;
            ct.View.Inverted    = _chart.View.Inverted;
            ct.Data             = _data.GetData(ct.ChartType);

            RenderTargetBitmap bmp = new RenderTargetBitmap();
            await bmp.RenderAsync(_chart);

            sheet.AddPicture("pic" + sheet.Pictures.Count.ToString(), bmp, rc.Left, rc.Top, rc.Width, rc.Height);
        }
コード例 #4
0
ファイル: TestHelper.cs プロジェクト: powernick/TestDemo
 private static void AddPicture(Worksheet currentSheet, PictureInfo pictureInfo)
 {
     Uri pictureUri = new Uri(pictureInfo.PictureFullName);
     BitmapImage imageSource = new BitmapImage(pictureUri);
     currentSheet.AddPicture(pictureInfo.NewPictrueName, imageSource, pictureInfo.RowIndex, 0.0, pictureInfo.ColumnIndex, 0.0);
 }