我试图在每个Excel页面上维护一行(标题字段)。 我使用EPPlus库中包含的OpenXML。
我尝试过以下代码:
myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("${0}:${0}", firstRowNummerExcel.ToString()))
这不会给我带来任何错误或崩溃,但只是没有做任何特别的事......
PrinterSettings对象似乎确实有效,因为执行以下代码行有效:
worksheetVertrokkenRunderen.PrinterSettings.ShowHeaders = true
这让我觉得插入的ExcelAddress可能不正确吗?
答案 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>