2017-01-23 2 views
0

Как слить изображение в Захватывающие ячейки листа Excel, с помощью C# i, с помощью следующего кода, но это не слияние изображения с ячейкой, которое оно плавает на листе excel.Как слить изображение в excicitng Excel из C#

  xlApp = new Excel.Application(); 
      xlWorkBook = xlApp.Workbooks.Add(misValue); 
      xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

      //add some text 
      xlWorkSheet.Cells[1, 1] = "http://csharp.net-informations.com"; 
      xlWorkSheet.Cells[2, 1] = "Adding picture in Excel File"; 

      xlWorkSheet.Shapes.AddPicture("C:\\csharp-xl-picture.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 45); 


      xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
      xlWorkBook.Close(true, misValue, misValue); 
      xlApp.Quit(); 

ответ

0

Я не уверен, есть ли способ вставить изображение прямо в ячейку. После того, как изображение вставлено, изображение будет перемещаться, если ячейки или ячейки слева от изображения будут добавлены или удалены. Является ли то, что не произойдет, так это то, что изображение не будет изменяться, если ячейка, на которой она находится, изменяет размер. Если вы установите значение места размещения фигуры в xlMoveAndSize, то, если размер ячейки или размер ячейки изменится, изображение изменит размер соответственно. Изображение идентифицирует себя с ячейкой, где расположены верхний левый угол изображения, поскольку изображение может перекрывать несколько ячеек. Попробуйте добавить строки ниже к добавленной форме на листе и посмотреть, является ли это желаемым эффектом. Я предполагаю, что вы захотите убедиться, что изображение содержится (ширина, высота) в одной ячейке при размещении; в противном случае изображение может перекрывать другие ячейки.

xlWorkSheet.Shapes.AddPicture("C:\\csharp-xl-picture.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 45); 
Excel.Shapes shapes = xlWorkSheet.Shapes; 
Excel.Shape shape1 = shapes.Item(1); 
shape1.Placement = XlPlacement.xlMoveAndSize; 

Надеюсь, что это поможет.

+0

Я получил его, пожалуйста, проголосовать за вопрос. –

+0

Я не голосовал за ваш вопрос. – JohnG

Смежные вопросы