小编ndt*_*viv的帖子

如何正确格式化日期单元格并使用Apache POI 3.7填充内容

背景:

我需要导出一个电子表格文档,其中一列包含日期格式的数据.

我正在设置工作簿样式,如下所示:

...
dateTimeStyle = workbook.createCellStyle();
//dateTimeStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
dateTimeStyle.setDataFormat((short)0x16);
...
Run Code Online (Sandbox Code Playgroud)

并将数据插入单元格/设置单元格的格式,如下所示:

...    
if (Date.class.isAssignableFrom(o.getClass())) {

    Calendar cal = Calendar.getInstance();
    cal.setTime((Date) o);
    cell.setCellStyle(dateTimeStyle);
    cell.setCellValue(cal);
}
...
Run Code Online (Sandbox Code Playgroud)

注意:根据BuiltinFormats文档(http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/BuiltinFormats.html)0x16指的是我想要实现的日期格式.

我遇到的问题是,当我在Microsoft Office Excel 2007中打开导出的文档时,当我右键单击该单元格并选择"设置单元格格式..."时,它会将所选单元格显示为自定义格式为dd/mm/yyyy hh:毫米

在此输入图像描述

此外,VLOOKUP操作不适用于列(我承认,这可能是错误的):

在此输入图像描述

我有一种感觉,这是因为误解了Excel如何存储和格式化内容,并感谢所提供的任何帮助.

题:

那么,我如何正确格式化/填充单元格,以便Microsoft Excel将其视为日期和VLOOKUPs工作等?

更新:如果我在Open Office Calc中打开生成的文件并选择格式化单元格...格式正确显示为日期.开始怀疑,如果这是POI库和Excel 2007的问题...

非常感谢.

java excel apache-poi

5
推荐指数
1
解决办法
1万
查看次数

将uint8_t*缓冲区上传到AWS S3,无需通过文件系统

免责声明: 我不是c ++程序员,请自救我.

我正在尝试使用AWS SDK在c ++中创建一个PutObjectRequest.

我有一个'uint8_t*'(在Java-land中我称之为字节[],我相信行星c ++这是一个缓冲区),我需要以某种方式将它变成Aws :: IOStream.

所有示例都显示了直接来自文件系统的数据.

我已经看到了几个类似的问题(但不是真的),答案指向另一个名为Boost的第三方库,但这肯定是一个常见的用例?为什么我需要第三方库来执行可能使用AWS SDK的事情?:

"我有数据,我想把它放在S3上.不,它不在文件系统中,是的,我在内存中创建它."

uint8_t* buf; //<-- How do I get this...
...
Aws::S3::Model::PutObjectRequest object_request;
object_request.WithBucket(output_bucket).WithKey(key_name);

object_request.SetBody(data); //<-- ...into here
Run Code Online (Sandbox Code Playgroud)

我非常感谢这里的任何帮助或指示(没有双关语).

更新
我在评论中尝试了所有内容,并且:

std::shared_ptr<Aws::IOStream> objectStream = Aws::MakeShared<Aws::StringStream>("PutObjectInputStream");        
*objectStream << data;
objectStream->flush();
object_request.SetBody(objectStream);
Run Code Online (Sandbox Code Playgroud)

还有这个:

std::shared_ptr<Aws::IOStream> objectStream = Aws::MakeShared<Aws::StringStream>("PutObjectInputStream");        
std::istringstream is((char*) data);
*objectStream << is.rdbuf();
objectStream->flush();
object_request.SetBody(objectStream);
Run Code Online (Sandbox Code Playgroud)

哪个编译,但每个只上传2个字节的数据.

我试过的其他不编译的东西是:

auto input_data = Aws::MakeShared<Aws::IOStream>("PutObjectInputStream", std::istringstream((char*) data), std::ios_base::in | std::ios_base::binary);
object_request.SetBody(input_data);
Run Code Online (Sandbox Code Playgroud)

object_request.SetBody(std::make_shared<std::istringstream>( std::istringstream( (char*) spn ) ));
Run Code Online (Sandbox Code Playgroud)

这些在S3上创建对象,但是有0个字节:

    std::shared_ptr<Aws::IOStream> objectStream = …
Run Code Online (Sandbox Code Playgroud)

c++ amazon-s3 amazon-web-services

5
推荐指数
1
解决办法
828
查看次数

elasticsearch 允许具有不同主体数据的重复 ID

我目前正在尝试将我们的 elasticsearch 数据迁移到 2.0 兼容(即:字段名称中没有点),以准备从 1.x 升级到 2.x。

我编写了一个程序,它运行位于单节点集群中的数据(批量),并重命名字段,使用 Bulk API 重新索引文档。

在某些时候,这一切都出错了,从我的查询返回的文档总数(要“升级”)不会改变,即使它应该倒计时。

最初我认为它不起作用。当我选择一个文档并查询它以查看它是否正在更改时,我可以看到它正在工作。

但是,当我查询该文档中特定字段的文档时,我会得到两个具有相同 ID 的结果。结果之一有升级的字段,另一个没有。

在进一步检查中,我可以看到它们来自不同的碎片:

{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 2,
    "max_score" : 19.059433,
    "hits" : [ {
      "_shard" : 0,
      "_node" : "FxbpjCyQRzKfA9QvBbSsmA",
      "_index" : "status",
      "_type" : "status",
      "_id" : "http://static.photosite.com/80018335.jpg",
      "_version" : 2,
      "_score" : 19.059433,
      "_source":{"url":"http://static.photosite.com/80018335.jpg","metadata":{"url.path":["http://www.photosite.com/80018335"],"source":["http://www.photosite.com/80018335"],"longitude":["104.507755"],"latitude":["21.601669"]}},
      ...
    }, {
      "_shard" : 3,
      "_node" …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

2
推荐指数
1
解决办法
2586
查看次数

Google Cloud Run 应用上的用户会话是否定向到同一个实例?

例如,

如果我的应用程序由 GCR 自动扩展,具有针对第三方身份提供商的 OAuth 2.0 + PKCE 授权代码流,我能否保证在用户登录第三方站点并重定向回后,他们将被重定向回同一个实例?

如果不是,它们被重定向回的新实例将不知道 code_verifier,并且身份验证将失败。

google-cloud-run

2
推荐指数
1
解决办法
855
查看次数