Excel/CSV-将键值转换为CSV
我在Excel中有一列记录如下: {Property1=选择加入,Property2=选择退出,Property3=选择退出}Excel/CSV-将键值转换为CSV,excel,csv,export-to-csv,Excel,Csv,Export To Csv,我在Excel中有一列记录如下: {Property1=选择加入,Property2=选择退出,Property3=选择退出} {Property1=选择加入,Property2=选择退出,Property3=选择退出} {Property1=opt-in,Property2=opt-in,Property3=opt-in} 有没有办法将其转换为csv或三个单独的列 物业1、物业2、物业3 选择退出,选择退出,选择加入 选择加入,选择加入,选择加入 选择退出,选择退出,选择加入 为了便于演示,请
{Property1=选择加入,Property2=选择退出,Property3=选择退出}
{Property1=opt-in,Property2=opt-in,Property3=opt-in}
有没有办法将其转换为csv或三个单独的列 物业1、物业2、物业3
选择退出,选择退出,选择加入
选择加入,选择加入,选择加入
选择退出,选择退出,选择加入
为了便于演示,请将列标题标签放在右侧一些未使用的单元格中,并在第一个单元格的正下方使用此标准公式
=TRIM(LEFT(SUBSTITUTE(SUBSTITUTE(REPLACE($A1,1,SEARCH(C$1,$A1)+LEN(C$1),""),"}",","),",",REPT(" ",LEN($A1))), LEN($A1)))
从右到下填充
导入java.io.BufferedWriter;
导入java.io.File;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.io.UnsupportedEncodingException;
进口jxl.Cell;
进口jxl.Sheet;
导入jxl.工作簿;
公共课优秀读者{
公共作废excel(字符串输入){
//TODO自动生成的方法存根
试一试{
String S=“C:/Users/DELL/Desktop/workspace\u luna/ecel dataload/”
+输入;
String S1=“C:/Users/DELL/Desktop/workspace\u luna/ecel dataload/”
+input.substring(0,input.indexOf('.')+“.xls”;
文件f=新文件;
@抑制警告(“资源”)
OutputStream os=(OutputStream)新文件OutputStream(f);
字符串编码=“UTF8”;
OutputStreamWriter osw=新的OutputStreamWriter(操作系统,编码);
BufferedWriter bw=新的BufferedWriter(osw);
文件f2=新文件(S1);
工作簿w=Workbook.getWorkbook(f2);
对于(int sheet=0;sheet0){
write(行[0].getContents());
对于(int j=1;j
肯定有办法。顺便说一句,要求代码的人很可能会做出某种程度的原创努力。不,我不是在要求代码。我可以解析,谢谢。我希望有一种在excel中实现的方法。使用本机excel函数进行文本解析只适用于静态数量的项。如果samepl(JSON..?)数据真正代表输入,那么可以构造一个公式将行拆分为列。fwiw,VBA子过程更合适,C#/VB.Net有一些JSON库可以实现这一点。这不是真正的答案,但您可以使用文本到列
功能,使用=
和,
作为分隔符-这将为您提供所需的3列以及3个标题,每个标题位于一个单独的列中,您可以轻松删除。。。更像是一种黑客行为,但它会起作用。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelReader {
public void excel(String input) {
// TODO Auto-generated method stub
try {
String S = "C:/Users/DELL/Desktop/workspace_luna/ecel dataload/"
+ input;
String S1 = "C:/Users/DELL/Desktop/workspace_luna/ecel dataload/"
+ input.substring(0, input.indexOf('.')) + ".xls";
File f = new File(S);
@SuppressWarnings("resource")
OutputStream os = (OutputStream) new FileOutputStream(f);
String encoding = "UTF8";
OutputStreamWriter osw = new OutputStreamWriter(os, encoding);
BufferedWriter bw = new BufferedWriter(osw);
File f2 = new File(S1);
Workbook w = Workbook.getWorkbook(f2);
for (int sheet = 0; sheet < w.getNumberOfSheets(); sheet++) {
Sheet s = w.getSheet(sheet);
Cell[] row = null;
for (int i = 0; i < s.getRows(); i++) {
row = s.getRow(i);
if (row.length > 0) {
bw.write(row[0].getContents());
for (int j = 1; j < row.length; j++) {
bw.write("||");
bw.write(row[j].getContents());
}
}
bw.newLine();
}
}
bw.flush();
bw.close();
} catch (UnsupportedEncodingException e) {
System.err.println(e.toString());
} catch (IOException e) {
System.err.println(e.toString());
} catch (Exception e) {
System.err.println(e.toString());
}
}
}