alguem poderia me ajudar com a seguinte questão: como faço pra que o meu programa java gere um arquivo txt? É possível gerar arquivos com a extensão xls tb?
Oi Sigfried, tudo bem?
Seja bem vindo ao PJ!!! :razz: :razz:
tu pode gerar um txt assim:
import java.io.*;
class criar
{
public static void main(String ar[]) throws IOException
{
FileOutputStream saida;
PrintStream fileSaida;
try
{
saida = new FileOutputStream("arquivo.txt");
fileSaida = new PrintStream(saida);
fileSaida.print("É... consegui gravar um TXT..");
}
catch (Exception e)
{
System.err.println(e);
}
}
}
agora quanto a xls… não sei te informar!!!
Pra gravar um xls ou qualquer outro arquivo que siga um padrão, você vai ter que estudar esse padrão… a menos que existe um programa que faça isso pra você.
Exemplo: como você gravaria um html? Um txt com <html>…
Eu ja gero o txt assim :
[code]import javax.swing.;
import java.io.;
import java.text.DecimalFormat;
public class Cadastrar {
public Cadastrar() throws IOException {
String nome[];
int sala[];
double nota[][];
double media[];
double total = 0;
String esc;
nome = new String[3];
sala = new int[3];
nota = new double[3][3];
media = new double[3];
/* Cadastro */
for( int i = 0; i < 3; i++ ) {
nome[i] = JOptionPane.showInputDialog(
"Aluno -> " + (i + 1) +
"\nDigite o nome" );
sala[i] = Integer.parseInt(
JOptionPane.showInputDialog(
"Digite a sala" ) );
for( int l = 0; l < 3; l++ ) {
do {
nota[i][l] = Double.parseDouble(
JOptionPane.showInputDialog(
"Digite a " + ( l + 1 ) +
"ª nota da prova" ) );
if( ( nota[i][l] > 10 ) || ( nota[i][l] < 0) ) {
JOptionPane.showMessageDialog( null,
"A nota tem q estar entre 0 e 10", "Valor Inválido !!",
JOptionPane.WARNING_MESSAGE );
}
} while( ( nota[i][l] > 10 ) || ( nota[i][l] < 0 ) );
total += nota[i][l];
} // fim do for das notas
media[i] = total / 3;
total = 0;
} // fim do for dos alunos
// Verifica se o usuario quer salvar a cadastro
do {
esc = JOptionPane.showInputDialog( "Deseja Salvar o Cadastro ? (S / N)" );
if( esc.equals("S") ) {
/************ Nesse IF ele vai gravar os dados no TXT **************/
DecimalFormat aproximador = new DecimalFormat( "0.0" );
FileWriter arquivo = new FileWriter( "Relatorio.txt" );
BufferedWriter escritor = new BufferedWriter(arquivo );
// Salva as notas no TXT
for( int k = 0; k < 3; k++ ) {
escritor.write( nome[k] + "\n");
escritor.write( sala[k] + "\n" );
for( int i = 0; i < 3; i++ ) {
escritor.write( aproximador.format( nota[k][i] ) + "\n" );
}
escritor.write( aproximador.format( media[k] ) + "\n\n" );
}// fim do for
escritor.close();
arquivo.close();
JOptionPane.showMessageDialog( null, "ARQUIVO SALVO" );
} // fim do IF
// Verifica se o caracter de escolha e S ou N
if( ( !( esc.equals( "S" ) ) ) && ( !(esc.equals( "N" ) ) ) ) {
JOptionPane.showMessageDialog( null,
"Caracter Inválido", "ATENÇÃO",
JOptionPane.WARNING_MESSAGE );
}
} while( ! ( ( esc.equals( "S" ) ) || ( esc.equals( "N" ) ) ) );
} // fim do construtor
} // fim da classe
[/code]
Ja mandei a classe Inteira rssr
e sobre vc fazer o xls, tp… tenta na hora q vc for fazer o font vc mudar na linha
FileWriter arquivo = new FileWriter( "Relatorio.txt" );
pra .xls, eu nunca tentei, mas tenta ai!!
espero ter ajudado!!
Abracao e te +