프로델에서 네신 Excel 작성을 자동화하고 싶다 #1

셀 내의 캐릭터 라인의 치환 ~ 그 1



지난번 그럼 셀내의 캐릭터 라인의 읽을 수가 있었으므로, 이번은 치환을 시험해 보고 싶습니다. 이전에 사용한 것에 손을 넣어 그림과 같은 xlsx 파일을 준비했습니다.

어떤 셀의 문자열인지 판정할 수 있도록 이런 식으로 했습니다만, 일단, 모두 같은 문자열로 치환시켜 보겠습니다.

xlsx 조작 2.rdr
文字列xmlは、「[プログラムの位置]カレンダー\xl\sharedStrings.xml」をXMLとして開いたもの
文字セル一覧は、文字列xmlから「sst\si」を取得したもの
文字セル一覧を箱へそれぞれ繰り返す
    臨時一覧は、箱の要素一覧
    臨時一覧を器へそれぞれ繰り返す
        もし器の名前が「t」ならば
            器の内容は、「テスト」
        もし終わり
    繰り返し終わり
繰り返し終わり

「[プログラムの位置]カレンダー\xl\sharedStrings.xml」に文字列xmlを保存する

프로델에서 XML을 파일에 저장하면 들여쓰기나 개행으로 성형하여 출력해 줍니다. 코드 실행 결과입니다.

sharedString.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="56" uniqueCount="56">
  <si>
    <t>テスト</t>
    <phoneticPr fontId="3" />
  </si>
  <si>
    <t>テスト</t>
    <phoneticPr fontId="3" />
  </si>
  <si>
    <t>テスト</t>
    <phoneticPr fontId="3" />
  </si>
  <si>
    <t>テスト</t>
    <phoneticPr fontId="3" />
  </si>
  <si>
    <t>テスト</t>
    <phoneticPr fontId="3" />
  </si>
 <以下略>

대체할 수 있습니다.

xlsx 파일 복원



이 xml 파일에서 xlsx 파일을 복원합니다. 원래의 xlsx 파일을 펼쳤을 때에 생긴 파일군을 zip 압축해 확장자를 변경하면 됩니다만, 여러가지 사이트에서 쓰여져 있듯이 파일군이 들어 있는 폴더마다 압축한다 대신 그 바로 아래
_rels
docProps
xl
[Content_Types].xml

4 개를 zip 압축하지 않으면 Excel에서 열 때 오류가 발생합니다 (그렇다면 확실히 조금 고민했습니다). 생성된 파일이 성공적으로 열렸습니다.

xlsx의 자력 편집은 고율로 로드에 실패하는 것 같습니다만, sharedStrings.xml를 성형한 정도라면 괜찮은 것 같습니다.
~계속~

좋은 웹페이지 즐겨찾기