2013-07-16 1 views
0

WordPress 용 CKEditor와 같은 WYSIWYG 편집기에 Excel 테이블 (아무 것도없고 단지 텍스트)을 복사하려고합니다.Excel에서 스타일이없는 WYSIWYG 편집기로 복사하는 방법은 무엇입니까?

하지만 내가 할 때 테이블이 widthheight 개의 속성으로 복사되는 것을 볼 수 있습니다. 그래서 HTML 소스는 다음과 같습니다 <table> 태그

<table border="0" cellpadding="0" cellspacing="0" style="width:483px;" width="483"> 
    <colgroup> 
     <col /> 
     <col span="4" /> 
    </colgroup> 
    <tbody> 
     <tr height="19"> 
      <td height="19" style="height:19px;width:227px;"> 

속성은 TR과 TD 속성에 대한 텍스트 편집기 자체,하지만에서 편집 할 수 있습니까? 어떻게 스타일을 삭제합니까?

난 그냥

<table> 
<tr> 
<td></td> 
</tr> 
</table> 

같은 일반 데이터가 WYSIWYG 에디터의 설정 자체에 대해이인가 싶어?

답변

0

편집기 설정과 관련이 있습니다. Excel에서 복사 할 때 데이터는 Windows 클립 보드에 몇 가지 다른 형식으로 저장됩니다. 이러한 포맷 중 하나는 일반 텍스트이고, 다른 포맷은 HTML이며, 아마도 독점 바이너리 포맷이있을 수 있습니다.

다른 응용 프로그램을 통과 할 때 원하는 형식의 우선 순위가 있습니다. 편집기가 먼저 HTML을 찾습니다. HTML 형식이있는 경우 HTML 형식이됩니다. 복사 된 데이터를 Windows 클립 보드에서 HTML로 표시 할 수없는 경우 편집기가 해당 목록의 # 2 형식 (일반 텍스트 일 ​​수 있음)으로 갈 수 있습니다.

Excel 테이블을 HTML로 변환하는 방법을 제어하려면 직접해야합니다. 이 코드는 Excel 범위를 HTML 테이블로 변환합니다.

Sub CopyRangeToHtmlTable() 

    Dim doClip As MSForms.DataObject 
    Dim vaTable As Variant 
    Dim i As Long, j As Long 
    Dim aTable() As String 
    Dim aRow() As String 

    'Read range into array 
    vaTable = Sheet1.Range("A1:B4").Value 

    'set up array to hold all of the rows 
    ReDim aTable(1 To UBound(vaTable, 1)) 

    'loop through the rows 
    For i = LBound(vaTable, 1) To UBound(vaTable, 1) 
     'set up array to hold all of the tds 
     ReDim aRow(1 To UBound(vaTable, 2)) 
     'loop through the tds 
     For j = LBound(vaTable, 2) To UBound(vaTable, 2) 
      aRow(j) = Tag(vaTable(i, j), "td") 
     Next j 
     'add the row to the table array 
     aTable(i) = Tag(Join(aRow, vbNullString), "tr") 
    Next i 

    'put the table into the clipboard 
    Set doClip = New MSForms.DataObject 
    doClip.SetText Tag(Join(aTable, vbNewLine), "table", , True) 
    doClip.PutInClipboard 

End Sub 

Public Function Tag(ByVal sValue As String, _ 
    ByVal sTag As String, _ 
    Optional sAttr As String = "", _ 
    Optional bIndent As Boolean = False) As String 

    Dim sReturn As String 

    If Len(sAttr) > 0 Then 
     sAttr = Space(1) & sAttr 
    End If 

    If bIndent Then 
     sValue = vbTab & Replace(sValue, vbNewLine, vbNewLine & vbTab) 
     sReturn = "<" & sTag & sAttr & ">" & vbNewLine & sValue & vbNewLine & "</" & sTag & ">" 
    Else 
     sReturn = "<" & sTag & sAttr & ">" & sValue & "</" & sTag & ">" 
    End If 

    Tag = sReturn 

End Function 

내가 메모장에 붙여

, 당신이 Dreamweaver를 사용하는 경우, 당신은 CSV 파일로 Excel 파일을 저장하고 가져올 수 있습니다

<table> 
    <tr><td>Name</td><td>Number</td></tr> 
    <tr><td>Tom</td><td>1</td></tr> 
    <tr><td>Dick</td><td>2</td></tr> 
    <tr><td>Harry</td><td>3</td></tr> 
</table> 
0

처럼 나온다. 파일> 가져 오기> 테이블 형식 데이터로 이동하십시오. 이 작업은 복사 및 붙여 넣기에 너무 큰 파일에서 작동합니다. Dreamweaver의 디자인보기에 내 일반적인 방법입니다. Dreamweaver를 사용하지 않는 경우 Mr. Data Converter에 붙여넣고 스타일이 적용되지 않은 HTML로 출력 할 수 있습니다.

관련 문제