小编Zip*_*ive的帖子

使用EPPlus生成的Excel文件中的内容不可读

当我使用EPPlus库从模板生成Excel文件时,我遇到了一些问题.该文件具有第一个电子表格,其中包含用于在以下表格中填充数据透视表的数据.

当我打开生成的文件时,我收到以下错误消息:"Excel在'sampleFromTemplate.xlsx'中找到了不可读的内容..是否要恢复此工作簿的内容?我相信此工作簿的来源,单击是."

我显然单击是,然后获得对文件进行修复的摘要,以及指向包含以下内容的xml格式化日志文件的链接:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
    <logFileName>error095080_01.xml</logFileName>
    <summary>Errors were detected in file  'C:\TEMP\sampleFromTemplate.xlsx'</summary>
    <repairedRecords summary="Following is a list of repairs:">
        <repairedRecord>Repaired Records: Table from /xl/tables/table1.xml part (Table)</repairedRecord>
    </repairedRecords>
</recoveryLog>
Run Code Online (Sandbox Code Playgroud)

这显然是由我在代码中定义的命名范围("Table1")引起的,用于指示要用于数据透视表的数据.模板中已经有一个名为"Table1"的"表名",但我似乎无法通过ExcelPackage.Worksheet.Names集合访问它.作为EPPlus的新手,并没有非常熟悉Excel,我不明白我做错了什么.这是我生成文件的代码:

private string GenerateFromTemplate(string fileName, string templateName, DataTable tab)
{
    FileInfo newFile = new FileInfo(string.Format("C:\\MyPath\\{0}.xlsx", fileName));
    FileInfo templateFile = new FileInfo(string.Format("C:\\MyPath\\{0}.xlsx", templateName));

    try
    {
        using (ExcelPackage pkg = new ExcelPackage(newFile, templateFile))
        {
            ExcelWorksheet sheet = pkg.Workbook.Worksheets["MyDataSheet"];
            ExcelRange range = sheet.Cells[string.Format("A1:U{0}", dt.Rows.Count)];
            pkg.Workbook.Names.Add("Table1", range as ExcelRangeBase);

            int sheetRowIndex = …
Run Code Online (Sandbox Code Playgroud)

.net c# excel xlsx epplus

15
推荐指数
3
解决办法
2万
查看次数

jQuery脚本无法在Internet Explorer中运行(第1行char 1上的语法错误)

我正在为一个新项目开发一个响应式html模型,它包含一些jquery脚本,可以在每个浏览器上运行完美...除了Internet Explorer(我目前正在IE9上测试它).

我自然检查了IE的javascript控制台,它给出了以下错误消息:

SCRIPT1002: Syntax error 
scripts.js, line 1 character 1
Run Code Online (Sandbox Code Playgroud)

我完全不知道它可能来自哪里,因为DreamWeaver或Komodo Edit都没有发现任何错误.

该模型在以下地址在线:http://zipion-live.be/cal-bw/

这是导致错误的脚本:

const visible = "visible";
const hidden = "hidden";
const open = "open";

$(document).ready(function(e) {
    $(".collapsible_container .links").hide();
    showHomeMenu();

    $("#home_link").click(showHomeMenu);

    $("#admin_link").click(showAdminMenu);

    $("#left_menu .links a").click(function() {
        $("#left_menu .links").slideUp("fast");
        $("#left_menu .collapsible_container").removeClass(open);
    });

    $("section .section_header").click(function() {
        var sectionContent = $(this).parent("section").children(".section_content");
        var sectionHeader = $(this);
        toggleSection(sectionHeader, sectionContent);
    });
});

function toggleSection(sectionHeader, sectionContent) {
    var isOpen = sectionHeader.hasClass(open);

    if (isOpen) {
        sectionContent.slideUp("slow", function() {
            sectionHeader.removeClass(open);
        });
    } else {
        sectionContent.slideDown("slow");
        sectionHeader.addClass(open); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery internet-explorer syntax-error

7
推荐指数
1
解决办法
4096
查看次数

继承自AuthorizeAttribute的属性不起作用

我目前正在尝试基于用户角色在新的ASP MVC 5应用程序中实现安全性.目标是防止用户访问某些控制器或控制器方法,如果他们没有某个角色(或更高).基于我到目前为止所读到的问题,我创建了一个继承AuthorizeAttribute的属性,它看起来像这样(MyAppRole是枚举,顺便说一句):

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class AuthorizeRoleOrSuperiorAttribute : AuthorizeAttribute
{
    private MyAppRole _authorizedRole;

    public AuthorizeRoleOrSuperiorAttribute(MyAppRole authorizedRole)
    { //Breakpoint here
        _authorizedRole = authorizedRole;
    }

    public override void OnAuthorization(HttpActionContext actionContext)
    { //Breakpoint here
        base.OnAuthorization(actionContext);

        if (!UserInfo.GetUserRoles().Any(r => (int)r >= (int)_authorizedRole))
            throw new UnauthorizedAccessException(ErrorsModule.RoleMissing);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在方法和/或控制器上这样称呼它:

[AuthorizeRoleOrSuperior(MyAppRole.Admin)]
public class MyController : Controller
{
    [AuthorizeRoleOrSuperior(MyAppRole.Admin)]
    public ViewResult Index()
    {
        [...]
    }

    [...]
}
Run Code Online (Sandbox Code Playgroud)

我在构造函数和OnAuthorization方法上放置了一个断点,但是,当我启动应用程序并调用相关的控制器或方法时,我从未点击任何一个并且操作被调用,即使我甚至没有登录.

注意:AuthorizeAttribute在我使用时正常工作.

知道什么可以阻止属性工作和过滤访问?

.net c# authorize-attribute asp.net-roles asp.net-mvc-5

4
推荐指数
1
解决办法
1895
查看次数

如何将Resx资源文件转换为字典

我目前正在开发一个可在未来项目中使用的dll,并尝试使用上一个开发的所有有用方法来填充它。我想重复使用的这些方法之一允许生成带有任何对象集合的excel文件,并使用resx资源文件根据对象的属性名称获取列标题。

现在,我的问题是我无法从库中访问甚至检查此类文件的存在。可能的解决方法是将这个资源文件转换成字典并将其作为参数传递,但我没有找到一种方法或有关此主题的任何文档。关于这个有什么暗示或建议吗?

谢谢您在这里帮助我...

PS:如果可能相关的话,我正在使用Visual Studio 2013。

.net c# dll dictionary resx

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