問題タブ [ods]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - OpenDocument スプレッドシート (ODS ファイル) の列数を数える
DotNetZipLibとクラスを使用してOpenDocument スプレッドシートファイルを読み取る C# で非常に単純なアプリケーションを作成しました。フォーマットとスタイルは私のアプリケーションには関係ないので、これは単純な相対論です。XmlDocument
<table:table-column>
この形式には、この質問に関連するいくつかの要素、、、およびが含まれて<table:table-row>
い<table:table-cell>
ます<table:covered-table-cell>
。列要素の数は、列の繰り返しを考慮した場合でも、スプレッドシート内の実際の列数と必ずしも一致しません。同様に、各行要素には異なる数のセル要素が含まれます。
OpenDocument 仕様で述べられているように、行、列、およびセルが繰り返される可能性があるという事実を考慮しました。データがデータ形式の正しいセルに読み込まれているため、これはうまく機能しています。
仕様に関する私の現在の理解では、スプレッドシート内の列の数を数える唯一の方法は、各行を列挙してセルの数を数えることです。これは比較的簡単ですが、データ構造を埋める前に列数を知っておくと便利です。
各行を個別に考慮することなく、スプレッドシートの列数を効率的に決定する方法はありますか?
import - lua で長い行を含むファイルを読み取る
.ods
Windows で lua を使用してファイルを 1 行ずつ読みたいと思います。私が行っていたコードは、別のプラットフォームでは機能しましたが、Windows では機能しませんでした。そこで、コードを変更して何が起こっているかを確認しました。
私が得る出力は次のとおりです。
そのため、コードは .ods ファイルの 2 行目で失敗します。ここで関数を返す理由はわかりませんpcall
が、重要な部分は、「:tc:opendoc...」で始まる「3 行目」の内容が .ods ファイルの 2 行目に属していることです。2 行目の 1025 文字であると確信しています。
次のことが起こっていると思います: 行全体を読み取るために、1024 バイトの lua 内部バッファーが必要です。したがって、2 行目は 1024 番目の文字までしか読み取られず、おそらくバッファーがいっぱいになります。Lua は行の残りを読み続けます。これは、バッファが別の値に設定されている可能性がある他のプラットフォームでコードが機能する理由も説明できます。
次のように独自のバッファを指定することで、ファイルのチャンクを読み取ることができることを知っています。
しかし、これは、ファイルを 2048 バイトのチャンクでインポートし、行末で停止しないため、ここでは役に立ちません。したがって、インポートされたデータを解析し、改行などを探す必要があります。
最後に、私の質問は次のとおりです。1024 バイトに設定できる、一度に読み取ることができる行の長さのための lua 内部バッファーはありますか? このバッファのサイズを変更するにはどうすればよいでしょうか?
linux - テキスト処理コマンドの結果を .ods ファイル内の特定の場所に転送する
大量のテキスト ファイルから .ods ファイルにデータをインポートする効率的な方法を探しています。grep や sed などのコマンドを使用してテキスト ファイルを処理することには問題はありませんが、これらのコマンドの結果を ods ファイルの特定の場所にリダイレクトできるかどうかはわかりません。
php - PHP で OpenDocument スプレッドシートを生成する
PHP を使用して OpenDocument スプレッドシートを生成しようとしています。これは私のコードです:
生成されたファイルを OpenOffice で開くと、すべて問題なく表示されます。しかし、MS Excel は何らかの理由でファイルを開くことができません。$content_xml
の XML 文字列が壊れていると思います。私はそのひもで誰にも迷惑をかけたくありません - それは巨大です! 簡単なオッズのスプレッドシートから取得しました。その部分を編集しただけ<office:body>...</office:body>
です。
これがスプレッドシートを生成する良い方法かどうか疑問に思っています。このタスクのチュートリアルを知っている人はいますか:
- すべてのzip処理を行います
- ods ファイル内の単純な content.xml の構造
「1.すべてのzip処理を行う」について:ここで行うことは、.ods構造のルートcontent.xml
に生成して追加することです
することで
しかし、どうすればファイルを構造のルートではなく (たとえば) に追加できますConfigurations2/images/Bitmamps
か?
r - .ods をインポートするには?
データ (.ods ファイル) をインポートしようとしています。.csv、.xls などをインポートする方法は知っていますが、いつも立ち往生しています。パッケージ Gnumeric で試してみましたが、必要なプログラム 'ssconvert' が見つからないという R のメッセージが表示されます。
toolkit - ODF ツールキット: ods または odf dodument からコメントなしでセルから文字列値を取得する
ODF Toolkit は、セル文字列の内容を取得するメソッド getStringValue() を提供します。セルにコメントがある場合、またはコメントがある場合、getStringValue() は既存または以前の既存のコメント + セルの内容を返します。
コメントなしでセルの内容のみを取得するにはどうすればよいですか?
出力例 ('PDF' は表示されるセルの内容です):
回避策は、エラー防止ではない「値」を解析することです。