java 和 C# 响应输出的相似度
java servlet response:
bf.append("Shipment No, STT No, WIN Event, DateTime, WOU Envent, DateTime");
sbf.append('\n');
for(int i=0;i<list.size();i++)
{
PrintStatisticsForm psrform = list.get(i);
sbf.append(getCsvCommaString(psrform.getHawb()));
sbf.append(getCsvCommaString(psrform.getStt()));
sbf.append(getCsvCommaString(new HSSFRichTextString(psrform.getWinevent())));
sbf.append(getCsvCommaString(new HSSFRichTextString(psrform.getWindatetime())));
sbf.append(getCsvCommaString(new HSSFRichTextString(psrform.getWouevent())));
sbf.append(getCsvCommaString(new HSSFRichTextString(psrform.getWoudatetime())));
sbf.append('\n');
}
sbf.append('\n');
sbf.append('\n');
sbf.append('\n');
byte[] csvData = sbf.toString().getBytes();
response.setHeader("Content-Disposition", "attachment;filename=Shipment Inventory Report.csv");
response.setContentLength(sbf.length());
response.setContentType("application/csv");
response.setCharacterEncoding("UTF-8");
response.getOutputStream().write(csvData);
response.getOutputStream().flush();
response.getOutputStream().close();
C# response
foreach (var totalCell in totalCellList)
{
totalContent.AppendFormat("\t{0},", totalCell.Value);
}
totalContent.AppendFormat("\t{0},", cellCountList.Values.Sum());
totalContent.AppendFormat("\t{0},", priceEvianBooCountList.Values.Sum());//依云及波多金额总计
totalContent.AppendFormat("\t{0},", pricefuWekoCountList.Values.Sum());//富维克金额总计
totalContent.AppendFormat("\t{0},", priceCountList.Values.Sum());//订单金额总计
sbContent.Append(totalContent.ToString());
//---------------------汇总行end------------------------//
sb.Append(sbContent.ToString());
var fileName = string.Format("{0}{1:yyyyMMddHHmmss}", (exporttype == 0 ? "日常报表_" : "详细报表_"), DateTime.Now);
userLogService.LogSuccessOperation(string.Format("导出报表[{0}.csv]!", fileName));
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = false;
byte[] data = Encoding.Default.GetBytes(sb.ToString());
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".csv");
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("utf-8");
HttpContext.Current.Response.BinaryWrite(data);
HttpContext.Current.Response.Flush();
//------------------------------------------
if (Request.Content.IsMimeMultipartContent())
{
var path = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(path);
var task = Request.Content.ReadAsMultipartAsync(provider);
task.ContinueWith(t =>
{
if (t.IsFaulted || t.IsCanceled)
throw new HttpResponseException(HttpStatusCode.InternalServerError);
});
}
else
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted"));
}
相关文章
- Windows平台下tomcat+java的web程序持续占cpu问题调试
- Java多线程--认识多线程(Thread、Runnable)
- 【Java】java扩展机制SPI 实现
- C# servicestack.redis 互通 java jedis
- Java实现 蓝桥杯 算法提高 矩阵乘法(暴力)
- Java实现 LeetCode 335 路径交叉
- Java实现蓝桥杯VIP 算法训练 P0501
- Java实现 LeetCode 140 单词拆分II
- java实现第三届蓝桥杯DNA对比
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- 【JAVA】毕向东Java基础视频教程-笔记
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- Eclipse 给 Java 应用创建 Run configuration 时找不到 main type 的错误消息
- Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性 应该内置到语言里面
- Atitit.ati orm的设计and架构总结 适用于java c# php版
- atitit.提取zip rar文件列表 java php c# 的原理与设计
- Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript.
- 编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略
- Java中的输入流
- DES加密算法java&c#
- Linux的java服务配置步骤
- Java的static关键字用法及原理