2012-01-09 3 views
0

현재 OleDB을 사용하여 Excel 스프레드 시트에 연결하고 DataTable의 데이터를 가져 와서 데이터를 수정 한 다음 데이터를 Word로 복사합니다.Excel에서 Word로 셀을 복사 할 때 셀의 서식을 유지하는 방법

나는 텍스트의 일부가 착색 된 경우 또는 배경 색상이 회색으로 된 경우처럼하거나 굵은 글씨의 경우, 셀의 서식을 잃고 그렇게함으로써

.

내가 Word 및 Excel과 OLEDB와 통신 할 수 Interop를 라이브러리를 사용하고 있습니다.

이 솔루션으로 달성하기에 충분하지 않은 경우 대체 솔루션을 제안 할 수 있습니까? (매크로?) Interop.Excel.Styles을 사용해 보았지만 현재 사용중인 셀과 관련시키는 방법을 알 수 없습니다.

답변

1

스프레드 시트에서 표 범위를 복사하고 서식을 유지하는 Word 문서에 직접 붙여 넣습니다.

wordDoc.Tables.Add(b.Range,newsheet.UsedRange.Rows.Count,newsheet.UsedRange.Columns.Count); 
Microsoft.Office.Interop.Word.Table table = b.Range.Tables[1]; 
newsheet.UsedRange.Copy(); 
table.Range.Select(); 
wordApp.Selection.Paste(); 

wordDoc는 Word.Document하고 wordApp는 word.Application입니다. 희망이 있으리라.

0

네, 그럴 것입니다. OleDB는 정보를 서식 화하지 않고 데이터를 이동합니다. 서식을 원한다면 Excel에서 Word로 복사/붙여 넣기를해야합니다. 프로세스를 자동화해야하는 경우 외부에서 Excel과 Word를 제어하는 ​​가장 쉬운 방법은 VBA입니다.

+0

서식이 보존 된 Interop 라이브러리로 이동할 수는 있지만 특정 조작을 수행해야하므로 장애인입니다. – gizgok