C# 在手机上打开excel文件(.xls)时遇到问题
我正在web表单页面中创建excel文档,当我加载该页面时,系统会提示我下载excel文件,该文件在我的计算机上打开良好。 但是,如果我发送相同的文件作为附件,并试图在我的手机上查看它,我会得到一个错误,说文件格式不受支持 下面是我的代码。。希望有人能给我们一些启示 我在手机上看到的错误是: 文件读取错误。文件类型不受支持或文件已损坏 excelling.aspx代码:C# 在手机上打开excel文件(.xls)时遇到问题,c#,asp.net,excel,C#,Asp.net,Excel,我正在web表单页面中创建excel文档,当我加载该页面时,系统会提示我下载excel文件,该文件在我的计算机上打开良好。 但是,如果我发送相同的文件作为附件,并试图在我的手机上查看它,我会得到一个错误,说文件格式不受支持 下面是我的代码。。希望有人能给我们一些启示 我在手机上看到的错误是: 文件读取错误。文件类型不受支持或文件已损坏 excelling.aspx代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="exce
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="excelling.aspx.cs" Inherits="app_Files_excelling" %>
<html>
<head runat="server">
<title></title>
</head>
<body>
<p runat="server" id="p1">Hello world.</p>
<table>
<thead>
<tr>
<th>column 1 header</th>
<th>column 2 header</th>
</tr>
</thead>
<tbody>
<tr>
<td>column 1 value</td>
<td>column 2 value</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Footer 1</td>
<td>Footer 2</td>
</tr>
</tfoot>
</table>
</body>
</html>
像那些评论过的人一样,在通过浏览器提供服务之前,您需要生成一个真正的XSLX文件。您可以通过许多库轻松实现这一点
这似乎被HTML重命名为XLS。在我的代码中,我将Response.contentType设置为application/vnd.ms excel。。我想那会解决的…那不是XLS的内容。难怪它不能被认出来。我告诉我的手机,我的网站发送了一个苹果,但我发送了一个棒球,它不承认棒球是苹果。发生了什么?如果你试着用这个棒球做苹果派,你就会知道答案。:-)将
response.contentType
设置为某物不会神奇地将内容转换为其他类型;它只是告诉另一端期望您所发送的内容类型。您仍然必须发送该contentType.lol中的实际内容。所以没有解决办法了?。是的。发送真正的XLS内容,或将contentType更改为HTML并将内容重命名为NCR.htm或NCR.HTML。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class app_Files_excelling : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=NCR.xls");
}
}