こんにちは
質問があります。
以下のコードのように、
テキストボックスに入力した行数の
エクセルの行を削除したいのですが、
何も削除されません。
どなたか解決策を教えていただけないでしょうか
よろしくお願いいたします。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
class testdel
{
public static void main(String[] args)
{
testdel2 test=new testdel2();
}
}
class testdel2 implements ActionListener
{
JButton button;
JTextField text;
testdel2()
{
JFrame frame=new JFrame();
JPanel panel=new JPanel();
button=new JButton("削除");
text=new JTextField(1);
button.addActionListener(this);
panel.add(text);
panel.add(button);
Container ct=frame.getContentPane();
ct.add(panel);
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button)
{
int del_row=Integer.parseInt(text.getText());
Delete del=new Delete(del_row);
}
}
}
class Delete
{
Delete(int delrow)
{
try
{System.out.println(delrow);
FileInputStream fis = new FileInputStream("c:/sample.xls");
POIFSFileSystem fs = new POIFSFileSystem(fis);
HSSFWorkbook wb1 = new HSSFWorkbook(fs);
HSSFSheet sheet = wb1.getSheetAt(0);
HSSFRow row=sheet.getRow(delrow);
sheet.removeRow(row);
System.exit(0);
}
catch(Exception e)
{
System.err.println(e.toString());
}
}
}
No.4
- 回答日時:
#2です。
>もう少し具体的に教えていただけますか?
提示されたソースコードではワークシートに変更を加えてからファイルへ保存を行っていないので内容が変更されません。変更が加わっているのはあくまでメモリ上にあるデータに対してだけです。
ファイルへの保存方法は参考URLを参考にしてください。
参考URL:http://jakarta.terra-intl.com/poi/hssf/quick-gui …
No.1
- 回答日時:
org.apache.poi.poifs.filesystem.POIFSFileSystemなどは、あまり知らないのですが、普通に考えて・・Streamを最後閉じていないところが気になります。
*sheet.removeRow(row);で処理が終わってしまっている(変更の確定(保存)を行う処理が必要では?)
renannさん。
早速のご回答ありがとうございます。
おっしゃる通りでした。
sheet.removeRow(row);の後に
FileOutputStream fso=new FileOutputStream("c:/sample.xls");
wb1.write(fso);
fso.close();
を追記したらうまくいきました。
しかし、行は削除ではなく、ただ値がクリアされただけで
テキストボックスに入力した行だけが空白になっている状態です。
ちゃんと削除したいのですがどうしたらよいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java final 1 2022/06/10 22:49
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Java Java 配列<選挙> 4 2023/07/31 15:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
連番をオブジェクト名の最後に...
-
javaで文字数制限するには?
-
整数を好きなだけ入力し、個数...
-
ボタンクリック後パネルを再描...
-
VB6.0でのTextboxの高さ変更
-
VectorクラスとRunnableインタ...
-
JavaのswingでCardLayoutの画面...
-
TextAreaでの文字の色
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
パソコンキーボードで時分秒を...
-
BOOL値を逆にしたい
-
ダブルクォーテーションのrepla...
-
yyyymmddからyyyy/mm/d...
-
<s:iterator>の値をリストで取...
-
C# 半角カナの文字化けについて
-
JSPやサーブレットでSystem.out...
-
ボタンのイベントで異なるウィ...
-
「例外 *** は対応する try 文...
-
Eclipseのコンソールを常に表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
JPanelの切り替えと再描画
-
JavaでのSwingを使った簡易電卓...
-
setPrefferedSizeとsetSize
-
javaで文字数制限するには?
-
4択クイズでのランダム出題の...
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
JPanelの重ね方/OverlayLayout他
-
KeyListenerの使い方について
-
【Swing】JPanel クラス外から...
-
JButton-背景の透明化
-
JDialogを閉じた時の処理
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
シンボルを解決できません
-
エラーで式の開始が不正ですと...
-
ArrayListの使い方について(初...
-
’じゃんけん’をするプログラム...
-
JOptionPaneでのフォーカスのト...
おすすめ情報