.NET EPPlus OpenXml - 在每个页面上重复Excel行

时间:2014-03-18 13:15:11

标签: .net vb.net excel openxml epplus

我试图在每个Excel页面上维护一行(标题字段)。 我使用EPPlus库中包含的OpenXML。

我尝试过以下代码:

myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("${0}:${0}", firstRowNummerExcel.ToString()))

这不会给我带来任何错误或崩溃,但只是没有做任何特别的事......

PrinterSettings对象似乎确实有效,因为执行以下代码行有效:

worksheetVertrokkenRunderen.PrinterSettings.ShowHeaders = true

这让我觉得插入的ExcelAddress可能不正确吗?

2 个答案:

答案 0 :(得分:8)

我认为我通过在Excel中设置一个重复行然后将该文档读入内存并在RepeatRows属性中添加其他内容来找到我自己的答案: 显然,您还必须添加工作表的名称......

myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("'{1}'!${0}:${0}", firstRowNummerExcel, myWorkSheetName))

这适用: - )

答案 1 :(得分:1)

EPPlus目前存在一个错误,其中同时设置RepeatColumns和RepeatRows会导致创建无效引用并被Excel忽略。

解决方法是手动添加以下命名范围。 (这与EPPlus试图完全相同。)

<?php 
       $name = $_SESSION["uname"];              
       $sql = "SELECT * FROM `courses` where course_lec = '$name'";
       $result = $conn->query($sql);
       if ($result->num_rows > 0) {
           while($row = $result->fetch_assoc()) {
              echo '
                     <div class="col-md-4">
                     <span class="fa-stack fa-4x">
                     <i class="fa fa-circle fa-stack-2x text-primary"></i>
                     <i class="fa fa-shopping-cart fa-stack-1x fa-inverse"></i>
                     </span>
                     </br>
                    <a href="javascript: functionTest()">Search</a>
                   <form name="myform" id="form"  action="checkMarks.php" method="post">
                    <input type= "text" value ="'. $row["course_id"].' " name="test"></input>
                    </form>
                    </br>
                    </div>';

                             }

                    }

?>
                <script >
                    function functionTest() {

                         document.getElementById("form").submit();

                            }


                </script>