PHPでExcelファイルを書き込み、読み込み等をやっています。
Excel2007以降のExcelファイルの実体は zip アーカイブだから、
Excelファイルを zip として処理しようと思っています。
具体的なソースはこんな感じ:
$zip = new ZipArchive();
$zip -> open( $file_name );
$sharedStrings = simplexml_load_string( $zip -> getFromName( 'xl/sharedStrings.xml' ));
$sheet1 = simplexml_load_string( $zip -> getFromName( 'xl/worksheets/sheet1.xml' ));
$sheet2 = simplexml_load_string( $zip -> getFromName( 'xl/worksheets/sheet2.xml' ));
今やりたいのは:対象Excelファイルのセルを空にする、
..............
$si = sharedStrings;
foreach ($r -> c as $c)
{
//セル、数式無し
if ($c['t'] == 's')
{
$v = $c -> v;
//セルの値を空にする
$si->si[(int)$v]->t = '';
}
else
{
// 数式入ってる
unset($c -> f);
$c['t'] = 's';
$curcount = $si -> count();
$shareString = $si -> addChild('si');
$shareString -> addChild('t');
$shareString -> t = '';
$c -> addChild('v');
$c -> v = $curcount;
}
}
数式が入ってないセルはこんな感じでやればいいんですが、
数式が入ってるセルは思うようにいきません。
セルの数式を削除、
unset($c -> f)すると、
Excelファイルを開いて、
削除されたレコード: /xl/worksheets/sheet1.xml パーツ内の共有数式
削除されたレコード: /xl/calcChain.xml パーツ内の数式 (計算のプロパティ)
こういうエラー出てきました。
聞きたいのは:
ExcelファイルをXML形式に変換して編集する時、
セルの数式を削除しようとすると、どうすればいいですか?
結構厄介な問題なので、どなたがわかったら、教えてください!
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/10/03 09:55
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルでテキストファ...
-
XML関数
-
C#で使用中のファイルに別のフ...
-
XMLファイルの作り方がわかりま...
-
東芝のDynabookなのですがアン...
-
ルート要素ノードが2個ある場合?
-
昔Winnyってありましたけど、あ...
-
Excel-VBAでXMLの複数ノードの...
-
CPUの考え方を教えてください ...
-
ASPで型宣言
-
あるノードリストに、特定の名...
-
タグの有無の判定
-
コンテキストメニュークリック...
-
各ノードの行数取得
-
VB6.0 特殊文字コードの変換
-
XML、XSLTの適応エラー(IEから...
-
DOMでの要素名の変更
-
Access VBAでXMLが読み込めない
-
XMLファイル内のデータ(値)を変...
-
XMLで要素が記述された順番に意...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでテキストファ...
-
UTF-8でエンコーディングとはど...
-
ExcelVBAで書き出した文字が化ける
-
Windowsで見かけるxmlファイル...
-
VBAでxmlファイルの置換をしたい
-
C#で使用中のファイルに別のフ...
-
XMLファイルの作り方がわかりま...
-
Excel(2007以降)をxml形式に変...
-
VBSでXMLを読込、検索結果をテ...
-
Web サイトにあるxmlファイルを...
-
XMLデータを整形して、ブラウザ...
-
DOSコマンドラインからxmlファ...
-
eclipseへのxmlファイル追加
-
DataSetのwriteXmlでのXML宣言
-
RDFファイルは何故拡張子が.rdf...
-
XmlDocument.ReadNode メソッド...
-
【アプリ開発】日本語を含むXML...
-
複数のXMLファイルからデータを...
-
JavaでXMLのNodeツリーをファイ...
-
GoogleマップでKMLが読み込めない
おすすめ情報