2013-04-03 3 views
1

Как вставить код HTML (таблицы) в Excel или PowerPoint?C# Вставить HTML в Excel или PowerPoint

+0

если вы знать анс почему вы спросили? – Freelancer

+0

@Freelancer его вполне приемлемый, чтобы опубликовать свой собственный ответ. Есть даже тикбокс для этого на странице вопросов. Это поможет будущим разработчикам. По общему признанию, ответ не является лучшей практикой, но пока мы увидим, что OP принимает обратную связь на борту. –

+0

Okey. отлично с этим. – Freelancer

ответ

0

Я преодолел некоторые проблемы, связанные с вставкой HTML в Excel и PowerPoint, и заметил, что многие люди спрашивают об этом.

Я хотел бы поделиться своим исследованием, решение, которое я разработал для него.

Допустим, у нас есть HTML файл с именем HTML, и мы хотели бы получить к нему доступ в Excel, давайте сделаем следующее:

Clipboard.SetText(html); 

Мы копируем HTML в буфер обмена. Буфер обмена генерирует из html реальную таблицу или изображение/диаграмму из входного файла.

System.Threading.Thread.Sleep(2000); 

Подождем второй, чтобы иметь предварительный просмотр

sheet.Range(cellmapp).PasteSpecial(); 

Теперь мы наклеиваем содержание в диапазоне, который мы могли бы хотели, чтобы вставить его, определяя cellmap.

System.Threading.Thread.Sleep(1000); 

Подождем второй, чтобы увидеть выход

sheet.UsedRange.Copy(Missing.Value); 

Теперь для того, чтобы скопировать таблицу изображения в PowerPoint, мы должны работать так с UsedRange.Copy, потому что он будет копировать выбранная область Excel.

Для того, чтобы проверить, что мы вставить его в правильное Powerpoint слайд

foreach (PowerPoint.Slide slide in presentation.Slides) 
{ 
    foreach (PowerPoint.Shape pptshape in slide.Shapes) 
    { 
     if(<your condition satisfies>) 
     { 
      slide.Select(); // some position in any slide 
      pptshape.Delete();//delete old content that was in that slide 
      ppApp.ActiveWindow.View.PasteSpecial(); //paste the Excel content 
     } 
    } 
} 

Конечно есть и другие решения, как сделать изображение из HTML кода и вставить ее, что было моей первоначальной идеи.

Другого пост ссылается, что манипуляции: Showing HTML in PowerPoint

+1

Использование фиксированного времени сна, чтобы подождать, пока что-то будет сделано, является плохой практикой. Лучше использовать обратные вызовы. Это может сломаться на более медленных компьютерах или больших листах. –

+0

Спасибо за богатую информацию. Я поставил таймер, потому что на больших столах для копирования/вставки требуется больше времени. Не знал о обратных вызовах, взглянет на него. – mike27015

+0

Как скопировать диапазон excel в форму, сохраняющую форматирование исходного кода? – Matt3o

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