java像excel表格列一样添加一列后列名输出A~Z或AA~AZ等求输入1则输出为A,输入27则输出AA

java像excel表格列一样添加一列后列名输出A~Z或AA~AZ等求输入1则输出为A,输入27则输出AA,第1张

可以用如下代码实现改功能,输入一个数字27返回AB

String[] array = new String[] { "A", "B", "C", "D", "E", "F", "G", "H","I", "J", "K", "L", "M", "N", "O", "P", "Q",

"R", "S", "T", "U", "V", "W", "X", "Y", "Z" }

int num = 428

int count = 26

System.out.println("num/count=" + num/count)

String out = ""

if (num/count != 0) {

out = array[num/count-1]

if (num%count == 0) {

out = out + array[num%count]

System.out.println(out)

} else {

out = out + array[num%count-1]

System.out.println(out)

}

} else {

out = array[num-1]

System.out.println(out)

}

刚解答了一个类似问题,采用的是jxl.jar包。贴代码说话:

public void createExcel(String path) {

try {

// 在path路径下建立一个excel文件

WritableWorkbook wbook = Workbook.createWorkbook(new File(path))

// 创建一个工作表 第一个工作区

WritableSheet wsheet = wbook.createSheet("数据清单", 0)

// 设置excel里的字体

WritableFont wf = new WritableFont(WritableFont.ARIAL, 12,

WritableFont.NO_BOLD, false)

// 给标题规定字体的格式

WritableCellFormat titleFormat = new WritableCellFormat(wf)

String[] title = { "账号", "密码"}

// 设置表头

for (int i = 0i <title.lengthi++) {

// 一列列的打印表头 按照我们规定的格式

Label excelTitle = new Label(i, 0, title[i], titleFormat)

// 把标头加到我们的工作区

wsheet.addCell(excelTitle)

}

Label account = new Label(0, 1, "银d小哥")

Label password = new Label(1, 1, "111111")

// 把值加到工作表中

wsheet.addCell(account)

wsheet.addCell(password)

// 写入文件

wbook.write()

wbook.close()

System.out.println("创建成功!")

} catch (Exception e) {

// TODO: handle exception

}

}

说明:以上代码中你可以将画面输入的内容写到”银d小哥“,”111111“那样的位置上。

解释下new Label(0, 1, "银d小哥")第一个0表示0列,1表示第一行。一般行列都是从0,0开始。这样你就可以把内容写到指定的行列中。

alter table Test add name varchar(30) 增加一列 列名为name的字段个人认为这种 *** 作极有可能破坏数据的完整性和一致性。如果你在程序中还给用户提供一个这样的页面来运行它,运行用户自己来新增字段,向数据库发送 alter table add column...这样的DDL,我认为不可取 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11811634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存