0

我在通过 Java 在 csv 中创建可点击的电子邮件链接时遇到问题。

当我使用简单的 FileWriter 类时

String ES_QUOTE = "\"";`
StringBuilder mailString = new StringBuilder();
mailString.append("=HYPERLINK(");
mailString.append("\"mailto:");
mailString.append(value);
mailString.append("\",\"");
mailString.append(value);
mailString.append("\")");
writer.append(ES_QUOTE + mailString.toString() + ES_QUOTE);

生成 csv 文件。电子邮件显示为纯文本,但是在我双击要编辑的单元格然后单击单元格外,然后仅按预期显示“下划线蓝色超链接”。

我还有另一个实现,我正在使用 OpenCsv apis CsvWriter 类,我正在尝试使用以下代码创建可点击的链接。

OutputStreamWriter osw = new OutputStreamWriter(fileOutputStream, "UTF-8");
CSVWriter writer = new CSVWriter(osw);
StringBuilder buffer = new StringBuilder();
buffer.append("=HYPERLINK(");
buffer.append("\"");
buffer.append("mailto:");
buffer.append(resultRow.get(listValue.get(count)));
buffer.append("\",\"");
buffer.append(resultRow.get(listValue.get(count)));
buffer.append("\")");
writer.writeNext(buffer.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"));
writer.close();
osw.close();

但是我得到了“超链接函数”的整个字符串......在通过 MsExcel 打开时它甚至没有被检测为函数......

您能否提供任何解决方法..我将非常感谢您的帮助。谢谢你。

4

1 回答 1

0

CSV 文件只是逗号分隔的文本。它们没有也不能包含任何格式说明,包括特定单元格的内容是否为链接。

是否将带有超链接格式文本的单元格视为链接取决于查看应用程序(Microsoft Excel、Apple Numbers 等)。没有任何办法可以强制执行此操作。

于 2021-10-25T07:26:18.733 回答